2012-07-31 70 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