sqlite 数据 格式转化




    sqlite3 * db = [Database openDB];
    sqlite3_stmt * stmt = nil
   int result = sqlite3_prepare_v2(db, "select * from Student", -1, &stmt, NULL);
    NSMutableArray * studentArray = [NSMutableArray array];
    if (result == SQLITE_OK)
    {
      while (sqlite3_step(stmt) == SQLITE_ROW) //存在一行数据
        {
        


从数据库中取出NSInteger 格式的数据

            int ID = sqlite3_column_int(stmt, 0);
           

从数据库中取出 text  格式的数据      

   const unsigned char * name =  sqlite3_column_text(stmt, 1);
    const unsigned char * gender = sqlite3_column_text(stmt, 2);
           
            
 blob 类型的获取
          

            

1. 获取长度
            int length = sqlite3_column_bytes(stmt, 4);
          

2. 获取数据
            const void * photo = sqlite3_column_blob(stmt, 4);
            
           

3.转换成NSData
            
            NSData * photoData = [NSData dataWithBytes:photo length:length];
         

4.转成 UIImage
            
            UIImage * image =  [UIImage imageWithData:photoData];
            
            
           

封装Student模型
            Student * student = [[Student alloc]init];
            student.ID = ID;
            student.name = [NSString stringWithUTF8String:(const char*)name];
            student.age = age;
            student.gender = [NSString stringWithUTF8String:(const char *)gender];
            student.photo = image;
            
           

添加到数组中
            [studentArray addObject:student];
        }
    }

你可能感兴趣的:(数据,sqlite,格式转化)