我正在开发一个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);
答案 0 :(得分:0)
你有没有试过像:
sqlite3_bind_text(compiledStatement, 2, valuevar==nil?"":[valuevar UTF8String], -1, SQLITE_TRANSIENT);