【发布时间】:2011-02-08 13:56:10
【问题描述】:
我的数据库定义如下
CREATE TABLE [problems] (
[p_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[problem_name] VARCHAR(255) NOT NULL,
[mixed_t1] INT NOT NULL,
[mixed_t2] INT NOT NULL,
[mixed_flair] INT,
[mixed_gre] INT,
[mixed_diffusion] INT,
[mixed_adc] INT,
[fat_sat_post_t1] INT)
在我的代码中,我试图运行一个看起来像这样的 SQL 查询
SELECT problem_name from problems WHERE mixed_t1=0
然后在代码中,我尝试将问题名称分配给 NSString,然后将 NSString 添加到 NUSMutableArray
if(sqlite3_step(statement) == SQLITE_ROW)
{
NSString *problemName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
[dataSet addObject:problemName];
[problemName release];
}
问题是我在 NSString *problemName 崩溃了
我收到以下崩溃消息
Current language: auto; currently objective-c
2011-02-08 08:54:29.035 RadAppz[1332:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString'
* 首次抛出时调用堆栈:
我知道我正在获取数据,因为在终端中执行 RAW SQL 会返回 2 行。有人可以告诉我为什么数据返回为 NULL 吗?
【问题讨论】:
标签: iphone-sdk-3.0 ios4 sqlite