views:

67

answers:

1

The problem code:

NSString *query = @"SELECT Name FROM Category";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil)
        == SQLITE_OK) {
    while (sqlite3_step(statement) == SQLITE_ROW) {
        char *row =(char *)sqlite3_column_text(statement,0);
        char *rowData = (char *)sqlite3_column_text(statement,1);

        NSString *fieldName = [[NSString alloc] initWithUTF8String:row];
        NSString *fieldValue = [[NSString alloc] initWithUTF8String:rowData];
        NSLog(@"%@",fieldName);
        NSLog(@"%@",fieldValue);

        [fieldName release];
        [fieldValue release];
    }
    sqlite3_finalize(statement);
}


char *row =(char *)sqlite3_column_text(statement,0);

In the above code instead of 0 can't I just pass a column name? How can I do that ?

+1  A: 

You can't, not with the C bindings anyway. Instead, you may use this Objective-C wrapper over the standard C interface: FMDB

MihaiD