2012-02-08 215 views
0

我爲我的簡單iOS應用程序使用sqlite。問題是我無法從查詢中得到結果。我將跳過負責打開數據庫的代碼。有用。無法獲取數據 - sqlite3

NSString *query = @"SELECT * FROM tickets LIMIT 0,1"; 

if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK) 
    { 
    NSString *strResult = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)]; 
      NSLog(@"%@", strResult); 
      sqlite3_finalize(statement); 
    }  

這裏的應用程序崩潰與消息:

NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString' 

我100%肯定該查詢

SELECT * FROM tickets LIMIT 0,1 

返回的結果是不爲NULL。我已經用sqlite客戶端測試了上面的查詢,它工作正常。

這裏有什麼問題?

回答

2

您沒有評價您的陳述。您應該使用:

int sqlite3_step(sqlite3_stmt*); 

sqlite3_prepare_v2之後。

+0

非常感謝。它做到了! – objlv 2012-02-08 18:01:07