iPhoneアプリの構築を支援するために、Firefox sqliteマネージャーを使用しています。ここには、iPhone シミュレーターで完全に機能する UPDATE クエリが含まれています。しかし、実機(iPhone)から実行すると失敗します。エラーはありません。データベースを更新しないだけです。
私は2つの考えられる原因を考えています: 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");
前もって感謝します。