当我尝试从我的iPhone应用程序中删除一行时,我可以正确地获取该标识,但该行不会被删除。Sqlite行不删除
-(void)delete_profile:(NSString *)mID {
NSLog(@"menuID: %@",mID);
sqlite3 *database;
sqlite3_stmt *deleteStmt=nil;
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {
if(deleteStmt == nil) {
const char *sql = "delete from item where menuid = ?";
if(sqlite3_prepare_v2(database, sql, -1, &deleteStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating delete statement. '%s'", sqlite3_errmsg(database));
}
//When binding parameters, index starts from 1 and not zero.
sqlite3_bind_int(deleteStmt, 1, [mID integerValue]);
if (SQLITE_DONE != sqlite3_step(deleteStmt))
NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(database));
sqlite3_reset(deleteStmt);
}
sqlite3_close(database);
}
所以......任何你得到什么错误,如果?或者它返回好,不删除任何东西? – 2012-02-25 07:17:31
没有错误发生,但没有被删除。我认为在将menuid传递给删除命令时出现了一些错误 – nithin 2012-02-25 07:19:46
看不到任何明显错误的代码。以这种方式结束时,mID的内容是什么? – 2012-02-25 07:31:50