读书人

FMResult 中治理数据库值得学习的代码

发布时间: 2012-11-26 11:48:49 作者: rapoo

FMResult 中管理数据库值得学习的代码

FMResult 中管理数据库值得学习的代码

- (NSDictionary *)resultDict {

int num_cols =sqlite3_data_count(statement.statement);

if (num_cols > 0) {

NSMutableDictionary *dict = [NSMutableDictionarydictionaryWithCapacity:num_cols];

int i;

for (i = 0; i < num_cols; i++) {

constchar *col_name = sqlite3_column_name(statement.statement, i);

if (col_name) {

NSString *colName = [NSStringstringWithUTF8String:col_name];

id value = nil;

// fetch according to type

switch (sqlite3_column_type(statement.statement, i)) {

case SQLITE_INTEGER: {

value = [NSNumbernumberWithLongLong:[selflongLongIntForColumnIndex:i]];

break;

}

case SQLITE_FLOAT: {

value = [NSNumbernumberWithDouble:[selfdoubleForColumnIndex:i]];

break;

}

case SQLITE_TEXT: {

value = [self stringForColumnIndex:i];

break;

}

case SQLITE_BLOB: {

value = [self dataForColumnIndex:i];

break;

}

}

// save to dict

if (value) {

[dict setObject:value forKey:colName];

}

}

}

return [[dict copy]autorelease];

}

else {

NSLog(@"Warning: There seem to be no columns in this set.");

}

return nil;

}

读书人网 >其他数据库

热点推荐