2010-04-19 3 views
3

Le code du problème:Le passage d'un nom de colonne au lieu d'index dans sqlite3

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); 

Dans le code ci-dessus au lieu de 0 je ne peux pas juste passer un nom de colonne? Comment puis-je faire cela?

Répondre

1

Vous ne pouvez pas, pas avec les liaisons C de toute façon. Au lieu de cela, vous pouvez utiliser ce wrapper Objective-C sur l'interface C standard: FMDB

Questions connexes