【发布时间】:2011-02-04 22:27:35
【问题描述】:
我正在开发一个 iPhone 应用程序,我从 XML 文件中提取数据并将其插入到位于应用程序中的 sqlite 数据库中。我能够成功地完成这个过程,但似乎如果我尝试使用值为“nil”的 NSString 的 sqlite3_bind_text,应用程序很快就会死掉。
这是一个失败的代码示例:(针对此示例进行了修改)
// idvar = 1
// valuevar = nil
const char *sqlStatement = "insert into mytable (id, value) VALUES(?, ?)";
sqlite3_stmt *compiledStatement = nil;
sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);
sqlite3_bind_int(compiledStatement, 1, [idvar intValue]);;
sqlite3_bind_text(compiledStatement, 2, [valuevar UTF8String], -1, SQLITE_TRANSIENT);
【问题讨论】: