2012-07-31 45 views
1

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

我已经通过很多教程进行了搜索,但发现其中大部分都适用于在应用程序内创建数据库并更改其内容。我只需要调用这些信息并将其存储为一个变量。

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

回答

1

假设您已经存储在您的sqlite的分贝的字符串为UTF-8的数据,你会从你的查询结果中提取,并做出一个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); 

很显然,你应该检查错误的结果并适当回应。

+0

谢谢!这是我需要的 – user1486548 2012-08-01 13:37:17