【问题标题】:Passing a column name instead of index in sqlite3在 sqlite3 中传递列名而不是索引
【发布时间】:2011-02-09 15:57:36
【问题描述】:

问题代码:

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

在上面的代码中,我不能只传递一个列名而不是 0 吗? 我该怎么做?

【问题讨论】:

    标签: objective-c sqlite iphone-sdk-3.0


    【解决方案1】:

    你不能,无论如何不能使用 C 绑定。相反,您可以在标准 C 接口上使用此 Objective-C 包装器:FMDB

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-08
      • 2011-08-08
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多