1

我对任何类型的编程都是全新的,并且在过去的一个月里已经设法学习了足够的 Obj-C 和 C 来编写一个功能正常的应用程序。但是,在我的应用程序完成之前,我只剩下一个问题。我的数据存储在我需要在我的应用程序中使用的 sqlite 数据库中。我需要能够从数据库中选择数据并将其存储为 NSString 变量,以便可以在我的应用程序的输出中使用它。

我搜索了许多教程,但发现其中大多数都是针对在应用程序中创建数据库并更改其内容的。我只需要调用信息并将其存储为变量。

任何指向相关教程的链接以及任何建议都将不胜感激。

4

1 回答 1

1

假设您已将字符串作为 utf-8 数据存储在 sqlite db 中,您将从查询结果中提取它并制作一个像这样的 NSString:

#import <sqlite3.h>

// Open the db
sqlite3 *db;
int result = sqlite3_open("path/to/your/db", &db);

// Prepare your query
sqlite3_stmt *statement;
result = sqlite3_prepare_v2(db, "select * from table where...;", -1, &statement, NULL);

// Process each row of the response
while (SQLITE_ROW == ((result = sqlite3_step(statement))))
{
    NSString *string = @"";

    // Pull out a given column as a text result
    char *c = sqlite3_column_text(statement, yourStringColumnIndex);

    // Make an NSString out of it
    if (c)
        string = [NSString stringWithUTF8String:c];

    NSLog(@"%@", string);
}

// Release the prepared statement and close the db
sqlite3_finalize(statement);
sqlite3_close(db);

显然,您应该检查错误结果并做出适当的响应。

于 2012-07-31T22:01:41.323 回答