我尝试增加表中一行中整数键的值。然而,似乎什么都没有发生。
db.rawQuery("UPDATE table SET key = key + 1 WHERE name=?", new String[] {name});
但是,这段代码可以正常工作(只是将键设置为硬编码值):
ContentValues values = new ContentValues();
values.put("key", 2);
db.update("table", values, "name=?", new String[] {name});
也试过'?'而不仅仅是 ?,但它只会导致运行时错误。
最佳答案
来自 http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html :
public Cursor rawQuery (String sql, String[] selectionArgs)
运行提供的 SQL 并在结果集上返回一个 Cursor。返回一个 Cursor 对象,该对象位于第一个条目之前
对比:
public void execSQL (String sql, Object[] bindArgs)
执行不是查询的单个 SQL 语句。例如CREATE TABLE
、DELETE
、INSERT
等
换句话说,返回表的 SQL 查询将使用 rawQuery
运行,而不返回表的 SQL 查询将使用 execSQL
运行。
关于android - 在android/sqlite数据库中增加一条记录的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3427516/