【发布时间】:2012-04-25 06:23:27
【问题描述】:
我正在创建一个应用程序,并使用 sqlite 进行更新。下面是我的一段代码:
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"appforoffice.sqlite"];
BOOL success = [fileMgr fileExistsAtPath:dbPath];
if(!success)
{
NSLog(@"Cannot locate database file '%@'.", dbPath);
}
if(!(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK))
{
NSLog(@"An error has occured.");
}
const char *sql = "UPDATE settings SET `value`='Off' WHERE `type`=?";
if(sqlite3_prepare_v2(database, sql, -1, &updateStmt, NULL) == SQLITE_OK)
{
if(sqlite3_bind_text(updateStmt, 1, [updateType UTF8String], -1, SQLITE_TRANSIENT) == SQLITE_OK)
{
if(sqlite3_step(updateStmt) == SQLITE_DONE) {
NSLog(@"Update Done successfuly");
}
else {
NSLog(@"Error while updating. '%s'", sqlite3_errmsg(database));
}
sqlite3_finalize(updateStmt);
sqlite3_close(database);
}
else
{
NSLog(@"Error while binding variable. '%s'", sqlite3_errmsg(database));
}
}
else
{
NSLog(@"Error while creating update statement. '%s'", sqlite3_errmsg(database));
}
但是伙计们,我没有收到任何错误。但问题是,数据库表不受查询影响。我确信查询完全没问题。
我对这个问题感到困惑,找不到任何解决办法。
【问题讨论】:
-
如果您想解决此类数据库问题,您需要发布查询以及可能的架构。
-
@SoumalyaBanerjee 请检查这里提到的问题stackoverflow.com/questions/39916124/…。升级到 iOS-10 后我也遇到了类似的问题。