一尘不染

Android中的SQLite如何更新特定行

java

我一直在尝试更新特定行已有一段时间了,看来有两种方法可以做到这一点。根据我的阅读和尝试,你可以使用:

execSQL(String sql) 方法

或者:

update(String table, ContentValues values, String whereClause, String[] whereArgs) 方法。

(让我知道这是否不正确,因为我是android新手,还是SQL新手。)

因此,让我了解我的实际代码。

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

我正在努力做到这一点:

更新主键(_id)等于1的Field1,Field2和Field3。

Eclipse在“更新”一词的正下方给了我一条红线,并给出了以下解释:

SQLiteDatabase类型的方法update(String,ContentValues,String,String [])不适用于参数(String,String,String,null)

我猜我没有正确分配ContentValues。谁能指出我正确的方向?


阅读 347

收藏
2020-03-13

共1个答案

一尘不染

首先创建一个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");

然后使用更新方法,它现在应该可以工作:

myDB.update(TableName, cv, "_id="+id, null);
2020-03-13