このメソッドを使用して、DB の行を更新しています。
- (void)Update: (int)idMed {
fileMgr = [NSFileManager defaultManager];
sqlite3_stmt *stmt=nil;
sqlite3 *dbase;
NSString *database = [self.GetDocumentDirectory stringByAppendingPathComponent:@"rtDb.sqlite"];
sqlite3_open([database UTF8String], &dbase);
const char *sql = "UPDATE orari SET pr=1 WHERE dataid=?";
sqlite3_prepare_v2(dbase, sql, -1, &stmt, NULL);
sqlite3_bind_int(stmt, 1, idMed);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
sqlite3_close(dbase);
}
このメソッドに送信されたデータをトリプル チェックしました。idMed は正しく、SQLite マネージャーでクエリを使用すると機能します。実際、この方法も機能しますが、ほんの数回です。ほとんどの場合、何もしません。
同じ正確なコードが SELECT を作成する別のメソッドで使用され、次にこれと同じ UPDATE が使用され、そこでは機能しますが、ここでは機能しません。
更新: STEP および FINALIZE 行でエラーが発生しているようです。