SQL删除似乎不起作用

时间:2011-04-08 00:17:54

标签: iphone sqlite

请帮助:-) 以下代码应该删除记录。它似乎执行正常,没有错误消息,NSLog显示“记录已删除”消息。但是,记录不会被删除。我使用终端进行检查,确实删除的记录仍在那里。令人费解的是,我有非常类似的代码来添加和计算记录,它们似乎都工作......我不是SQL专家,所以我希望这群人中的专家可以看到错误。

由于

 (void) deleteRecord
 {
    const char *dbpath = [databasePath UTF8String];
    sqlite3_stmt    *statement;

    if (sqlite3_open(dbpath, &wfDataBase) == SQLITE_OK)
    {
        NSLog(@"About to Delete Record %d",currentID);
        NSString *querySQL = [NSString stringWithFormat: @"DELETE from wfDataBase WHERE ID = %d", currentID];
        const char *query_stmt = [querySQL UTF8String];

        if (sqlite3_prepare_v2(wfDataBase, query_stmt, -1, &statement, NULL) == SQLITE_OK)
            l_status.text = @"Record Deleted";            
        else 
            l_status.text = @"Can't Delete";

        sqlite3_finalize(statement);
        sqlite3_close(wfDataBase);
    }    
}

1 个答案:

答案 0 :(得分:0)

您确定在evaluated sqlite3_step(statement )之前compiled sqlite3_prepare_v2(wfDataBase, query_stmt, -1, &statement, NULL) destroying声明(sqlite3_finalize(statement))?{ / p>

注意:我不是SQLite的专家(事实上我对SQLite一无所知),但我想这就是问题的原因。