1

我是 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)
    {
        .........   
    }
}

谁能告诉我查询中的错误是什么?

4

2 回答 2

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);     
}
于 2012-09-11T07:35:11.730 回答
0

你把数据库文件放在什么路径?如果将数据库文件放在与项目相同的路径下,则无法写入,例如应将其放在沙箱中NSHomeDocument可写入的位置,并且可以修改如下代码以跟踪错误:

NSError *err;

if (sqlite3_prepare_v2(TODOLIST_03_DB, query_stmt, -1, &statement, &err) == SQLITE_OK)
{   
    if(err)
    {
        // NSLog error or what.
    }
}
于 2012-09-11T07:38:38.143 回答