我是iPhone编程的新手,并希望有人能够帮助我解决我几天来一直试图修复的问题。我创建了一个数据库和一个表。在我的程序中,它包含5个字段,我将两个字段设置为零。后来我将这些字段更新为一个目的。但问题是我无法将字段值设置为1。我将粘贴下面的代码:
NSString *querySQL = [NSString stringWithFormat: @"UPDATE TODOLIST_03 SET DELETEROW ='1' WHERE TASK=\"%@\"", cellText1];
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(TODOLIST_03_DB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
if (sqlite3_step(statement) == SQLITE_ROW)
{
.........
}
}
任何人都可以告诉我查询中的错误是什么?
答案 0 :(得分:0)
尝试以下:
const char *sqlQuery="UPDATE TODOLIST_03 SET DELETEROW ='1' WHERE TASK= ?";
if(sqlite3_prepare_v2(database, sqlQuery,-1, &queryStatement, NULL) == SQLITE_OK)
{
sqlite3_bind_text(queryStatement, 1, [cellText UTF8String], -1, NULL);
}
答案 1 :(得分:0)
您将数据库文件放在哪条路径上?如果将数据库文件放在与项目相同的路径上,则无法写入,您应该将其放在沙箱中,例如NSHomeDocument
,它是可写的,您可以修改这样的代码来跟踪错误:< / p>
NSError *err;
if (sqlite3_prepare_v2(TODOLIST_03_DB, query_stmt, -1, &statement, &err) == SQLITE_OK)
{
if(err)
{
// NSLog error or what.
}
}