2012-02-08 217 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