Xcode デバッガによると、プロジェクトのテーブルから行を削除するための適切な構文を使用しています。ただし、戻ってデータベースを確認すると、まだ存在しています。エントリを挿入するための他の SQL 構文は正しいので、何が間違っているのかわかりません。NSLogs は、両方の変数が正しく送信されていることを確認します。
-(void) deleteSelectedRowFromTable: (NSString *) tableName cityName:(NSString *)city
{
[self openDB];
NSString *sqlStr = [NSString stringWithFormat:@"DELETE FROM %@ WHERE city LIKE %@", tableName, city];
const char *sql = [sqlStr UTF8String];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK) {
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(db));
}
sqlite3_finalize(statement);
sqlite3_close(db);
}