1. ホーム
  2. java

[解決済み] AndroidでSQLiteを使用する 特定の行を更新する方法

2022-05-01 05:59:11

質問

ここしばらく、特定の行を更新しようとしているのですが、これには2つの方法があるようです。私が読んだり試したりしたところでは、単に.NET Frameworkを使用することができます。

execSQL(String sql) メソッド

または、その

update(String table, ContentValues values, String whereClause, String[] whereArgs) メソッドを使用します。

(私はアンドロイドの初心者で、SQLについても非常に初心者なので、これが間違っていたら教えてください)。

では、実際のコードに入ります。

myDB.update(TableName, "(Field1, Field2, Field3)" + " VALUES ('Bob', 19, 'Male')", "where _id = 1", null);

私はこれを実現しようとしているのです。

主キー(_id)が1に等しいField1、Field2、Field3を更新します。

Eclipseでは、"update"という単語のすぐ下に赤線が引かれ、このような説明が表示されます。

のメソッド update(String, ContentValues, String, String[]) は、"ContentValues" 型のメソッドです。 SQLiteDatabaseは、引数(String, String, 文字列, null)

ContentValueを正しく代入できていないようです。どなたか正しい方向を教えていただけませんか?

解決方法は?

まず、ContentValuesオブジェクトを作成します。

ContentValues cv = new ContentValues();
cv.put("Field1","Bob"); //These Fields should be your String values of actual column names
cv.put("Field2","19");
cv.put("Field2","Male");

そして、updateメソッドを使用すると、これで動作するはずです。

myDB.update(TableName, cv, "_id = ?", new String[]{id});