您的位置:首页 > 数据库

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

2012-11-21 18:35 387 查看
FMResult 中管理数据库值得学习的代码
- (NSDictionary *)resultDict {

int num_cols =
sqlite3_data_count(statement.statement);

if (num_cols > 0) {
NSMutableDictionary *dict = [NSMutableDictionary
dictionaryWithCapacity:num_cols];

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

const
char *col_name = sqlite3_column_name(statement.statement, i);

if (col_name) {
NSString *colName = [NSString
stringWithUTF8String:col_name];
id value =
nil;

// fetch according to type
switch (sqlite3_column_type(statement.statement, i)) {
case SQLITE_INTEGER: {
value = [NSNumber
numberWithLongLong:[self
longLongIntForColumnIndex:i]];
break;
}
case SQLITE_FLOAT: {
value = [NSNumber
numberWithDouble:[self
doubleForColumnIndex: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: