[OK]私は2つのAndroidプロジェクトが同じAPIレベルで動作しています。私が使用しています他にAndroidでSQLiteで行を更新するための適切な構文
db.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=" + rowId, null);
:
db.update(DATABASE_TABLE, updateValues, FIELD_COLLECTION_ID + "=?", new String[] {collectionId});
彼らは両方の仕事1では、私が使用していますSQLiteの行を更新します。 2番目のプロジェクトでは、最初のものと一致するように構文を変更した場合(つまり、where句から疑問符を削除し、whereArgs
をnullに設定した場合)、0行が返されます。これには理由がありますか?私はSQLインジェクションの可能性を減らすので、2番目のシンタックスに固執しようと考えていましたが、私はそこにこのオブジェクトを投げ込み、誰かが同じような経験をしているかどうかを確かめました。
また興味深いのは、ドキュメントがそのちょうどそこに、whereArgsが何のためにあるのかを指定していないということです:あなたは疑問符を削除するとSQLiteDatabase:update()