我从sqlite得到一个结果集,如下所示:
Null,23,34,45(正如(比方说)返回4项)
null值是正确的 - 但是当我尝试使用以下代码将它添加到objective-c中的数组时,我得到一个错误 - Null cstring - 这是我的代码:
[array addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement,0)]];
我尝试将null添加到数组并将其替换为零之前测试null失败,但到目前为止还没有运气。
有人可以帮我处理空值,这样我就可以在数组中添加零。
感谢您的帮助。
答案 0 :(得分:1)
正如Hot Licks所说,检查返回值并添加从中创建的字符串,或添加[NSNull null]
。
const unsigned char *column0 = sqlite3_column_text(statement, 0);
if (column0)
[array addObject:[NSString stringWithUTF8String:(const char *)column0]];
else
[array addObject:[NSNull null]];
答案 1 :(得分:1)
建议处理null是个不错的选择。
您还可以使用TEXT
修改查询以强制列始终为CAST(column_name AS TEXT)
,或使用COALESCE(column_name, '')
强制NULL清空字符串。