我在更新sqlite中db.update
的where子句中包含多个列的表时遇到问题。
以下是我尝试但未接受并显示语法错误的内容。
db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));
在上面的查询中
但是语法错误
The method update(String, ContentValues, String, String[]) in the type SQLiteDatabase is not applicable for the arguments (String, ContentValues, String, String)
请帮我在where子句中声明多个列。
感谢您的时间。
答案 0 :(得分:1)
更改拉伸代码:
db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));
要
db.getWritableDatabase().update( tablename, update(buy+dupbuy), column2 + " = ? and " + column3 + " = ?", new String[]{ getdate, stockname } );
答案 1 :(得分:1)
尝试更改
db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and"+ column3+"=?"),(new String[] {getdate}+" and"+new String[] {stockname}));
到
db.getWritableDatabase().update(tablename, update((buy+dupbuy)), (column2+"=? and "+ column3+"=?"),(new String[] {getdate,stockname}));
在"and"
子句中的WHERE
之后添加空格,您需要在String[]
参数中传递String
而不是whereArgs
。目前您正在传递String