所以我想从我的数据库中删除一系列对象。
它们临时存储在 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?甚至有可能做到这一点吗?
提前谢谢了
编辑:“日志”对象是一个 NSMutableArray