使用Sqlite中的where子句更新查询

时间:2011-10-19 13:24:32

标签: java android sqlite

这是我在这个网站上的第一个问题。 我有关于更新查询的问题。

  ContentValues args = new ContentValues();
  args.put("j_id", str);

  db.update(TABLE_NAME2, args, null, null);

我只想在其中添加“where”子句。

喜欢

   UPDATE TABLE_NAME2
   SET j_id=str
   WHERE j_id = '-1'

那我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以传递null - 子句,而不是将WHERE作为第三个参数传递。 See the docs


在您的情况下,这将是这样的:

String value = "-1"; // Or something else
String column = "j_id"; // The Column for the WHERE-clause
db.update(TABLE_NAME2, args, column+" = ?", new String[]{value});

您应始终使用prepared-statement语法。因此,您实际上并未在String中添加WHERE - 子句的值,而是使用第四个参数,该参数使用String-array替换?中的WHERE - 查询-string。

String-array的第一个元素将替换为查询字符串中的第一个?,依此类推。所以最后,这会创建一个像这样的WHERE子句:

WHERE j_id = '-1'