したがって、DBから一連のオブジェクトをすべて削除します。NSMutableArrayを使用してdbからレコードを削除する
NSMutableArrayに一時的に格納されます。
これは私がそれらをループする現在のコードです。
+(BOOL) removeLogs:(Logs *)logs {
Database *db = [DatabaseManager sharedDatabaseManager].db;
sqlite3_exec(db.dataBase, "BEGIN", 0, 0, 0);
const char *sqlRemoveLogs = "DELETE FROM logs WHERE LogID = ?";
if(sqlite3_prepare_v2(db.dataBase, sqlRemoveLogs, -1, &removeLogStatement, NULL) != SQLITE_OK) {
NSLog(@"Failed to prepare statement: %s", sqlite3_errmsg(db.dataBase));
return NO;
}
for(int i = 0; i < logs.getLogs.count; i++) {
sqlite3_bind_int(removeLogStatement, 1, [logs getLogAtIndex:i].logId);
if(SQLITE_DONE != sqlite3_step(removeLogStatement)) {
NSLog(@"Failed to remove logs: %s", sqlite3_errmsg(db.dataBase));
return NO;
}
sqlite3_clear_bindings(removeLogStatement);
sqlite3_reset(removeLogStatement);
}
sqlite3_finalize(removeLogStatement);
NSLog(@"Logs removed");
return YES;
}
私はここでforループを使用して反復処理を行う必要がある形式でこれを取得します。 sqliteのための次の文を使用して:
DELETE FROM logs WHERE LogID IN ?
どのように私はこれを埋めますか '?' NSMutableArrayで? これも可能ですか?
事前に多くの感謝
EDIT: 「ログ」オブジェクトは、あなたがlogIdsToDeleteArray
でそれを削除して保存したいlogIds
のNSArray
を作るNSMutableArrayの