Хорошо, у меня есть два проекта Android, оба работают на одном уровне API.В одном для обновления строки SQLite я использую:
db.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=" + rowId, null);
В другом я использую:
db.update(DATABASE_TABLE, updateValues, FIELD_COLLECTION_ID + "=?", new String[] {collectionId});
Они оба работают.За исключением того, что во втором проекте, если я изменю синтаксис, чтобы он соответствовал первому (то есть удалил знак вопроса из предложения where и установил whereArgs
в ноль), он вернет 0 затронутых строк.Для этого есть причина?Я думаю о том, чтобы придерживаться второго синтаксиса, потому что, очевидно, он уменьшает вероятность внедрения SQL-кода, но я подумал, что добавлю этот синтаксис и посмотрю, есть ли у кого-нибудь подобный опыт.t указать, для чего используется whereArgs, он просто есть: SQLiteDatabase: update ()