2011-10-19 45 views
0

它是我在这个网站上的第一个问题。 以及我有更新查询问题。在Sqlite中使用where子句进行上面的查询

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' 

那么应该怎么办?

回答

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}); 

你应该总是使用准备好的语句的语法。因此,您实际上并没有在String中添加WHERE-clause的值,而是使用第四个参数取代WHERE-query字符串中的?

将字符串数组的第一个元素替换为查询字符串中的第一个?,依此类推。所以最后,这会创建一个WHERE子句,如下所示:

WHERE j_id = '-1' 
+0

是的,我试过了,但没有奏效。我是'Sqlite'的新手。你能写一行语法吗?感谢预期。 – xkrlaix

+0

我将此添加到我原来的答案中。 –

+0

非常感谢。有用。 – xkrlaix