我正在使用 firefox sqlite manager 来帮助我构建一个 iphone 应用程序。我在其中包含了一个 UPDATE 查询,它在 iPhone 模拟器中完美运行。但是,当我从真机(iphone)运行时它会失败。没有错误,它只是不更新数据库。
我在考虑两个可能的原因:1)它更新的数据库不是模拟器中的那个 2)我读取的数据库不是更新的那个
有没有人有类似的经历?
代码如下:
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"Exercises.sqlite"];
BOOL success = [fileMgr fileExistsAtPath:dbPath];
if(!success)
{
NSLog(@"Cannot locate database file '%@'.", dbPath);
}
if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK))
{
NSLog(@"An error has occured.");
}
NSString *ranID = [@"UPDATE Status SET money = " stringByAppendingFormat:@"%d", money + 100];
const char *sql2 = [ranID UTF8String];
sqlite3_stmt *sqlStatement2;
if(sqlite3_prepare(db, sql2, -1, &sqlStatement2, NULL) != SQLITE_OK)
{
NSLog(@"Problem with prepare statement 2");
}
if (sqlite3_step(sqlStatement2)==SQLITE_ROW)
NSLog(@"succeed");
提前致谢。