当前位置: 首页 > 面试题库 >

Android中的SQLite如何更新特定行

鄂育
2023-03-14
问题内容

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

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。谁能指出我正确的方向?


问题答案:

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


 类似资料:
  • 问题内容: 我正在将SQLAlchemy与python结合使用,并且我想更新等于此查询的表中的特定行: 我通过sql alchemy编写了此代码,但无法正常工作: 返回此错误: 我该怎么做? 问题答案: 通常,您不使用,而是设置属性:

  • 我是Android的新手,需要一些帮助。 我的问题是我到底什么时候调用命令,以及room如何知道哪一行发生了更改?我不想更新到整个表。 如果我应该用另一种方式解释,请告诉我。

  • 问题内容: 有了Pandas中不错的索引方法,我就可以用各种方式提取数据了。另一方面,我仍然对如何更改现有DataFrame中的数据感到困惑。 在下面的代码中,我有两个DataFrames,我的目标是从第二个df的值更新第一个df中特定行的值。我该如何实现? 给 但是我怎么能做到这一点: 问题答案: 因此,首先, 大熊猫使用index更新 。当更新命令不更新任何内容时,请同时检查左侧和右侧。如果由

  • 我正在尝试执行一个更新,内容如下: 如果当前时间晚于拍卖结束时间(即非活动),则将表的列设置为。否则,设置为“1”。 我一直在犯这个错误。。 javax。servlet。ServletException:java。sql。SQLException:结果集关闭后不允许操作 我怎么去修理这样的东西?

  • 我有两个结构相同的表,我想使用另一个表的数据更新一个表,匹配主键。SQLite有一个with(CTE)语句,但以下语句不起作用(sqlite3 v.3.29.0): 我尝试过使用“选择main.ID作为ID,选择temp.Desc作为Desc”,但得到了相同的错误消息。

  • 我正在尝试更新当前登录用户的密码。但它显示了零点异常。 配置文件控制器: ProfileService: 给我这个错误: 2019-07-09 01:55:04.284错误---[nio-8080-exec-8]o.g.web.errors.GrailsExceptionResolver: NullPointerExcture发生时处理请求:[POST] /profile/doPasswordCh