在我的 iPhone 应用程序中,我试图从 SQLite 数据库中删除一行。执行删除语句后,该行似乎已被正确删除,但在我重新启动应用程序后,该行仍然存在。 我正在使用代码 blow 删除记录。知道可能是什么问题吗?
NSString *deleteSQL = [NSString stringWithFormat:@"DELETE FROM table1 WHERE actId=%d", actId];
char *errorMsg;
if (database == nil) {
NSLog(@"ERROR db not initialized but trying to delete record!!!");
}else{
if (sqlite3_exec(database, [deleteSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){
NSAssert1(0, @"Error updating tables: %s", errorMsg);
sqlite3_free(errorMsg);
return NO;
}
}
NSLog([NSString stringWithFormat:@"DELETE Successful"]);
最佳答案
我已经解决了这个问题。虽然我不完全了解所有细节。问题是在我的“加载代码”中,我忘记为语句调用 sqlite3_finalize。不知道为什么,但这会以某种方式影响 future 的插入和删除。在数据加载方法中加入sqlite3_finalize解决了问题。
关于iphone - iPhone上的sqlite删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1026451/