我的Java代码更新数据库表
String qq="UPDATE ChallanItems SET Recieve ="+str+" WHERE ItemNo = "+code;
Log.d("Qry", qq);
myDbHelper.updatequery(qq);
updatequery方法
public void updatequery(String qry)
{
Cursor c = myDataBase.rawQuery(qry, null);
Log.d("Up", ""+c.getCount());
}
当我更新数据库时,计数返回0并且表未更新
我正在使用这个但是没有工作
String qq="UPDATE ChallanItems SET Recieve ="+str+" WHERE ItemNo = "+"'"+code+"'";
请帮助我如何解决这个问题
提前致谢
答案 0 :(得分:6)
对此类SQL使用execSQL()
而不是rawQuery()
。
rawQuery()
只编译SQL但不运行它。您需要在返回的move...()
上调用其中一个Cursor
方法来执行已编译的SQL程序的一个步骤。
execSQL()
编译并运行SQL程序。
您的文字也可能存在语法问题 - 在SQL中使用参数即?
占位符,并且String[]
绑定参数是安全的。
答案 1 :(得分:1)
尝试使用它:
ContentValues values = new ContentValues();
values.put("Recieve", str);
db.update("ChallanItems", values2, "ItemNo = ?", new String[] { code });
答案 2 :(得分:1)
更新sqlite查询更改
Cursor c = myDataBase.rawQuery(qry, null);
到这个
myDataBase.execSQL(qry);