android - 在android/sqlite数据库中增加一条记录的值

标签 android sqlite

我尝试增加表中一行中整数键的值。然而,似乎什么都没有发生。

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 TABLEDELETEINSERT

换句话说,返回表的 SQL 查询将使用 rawQuery 运行,而不返回表的 SQL 查询将使用 execSQL 运行。

关于android - 在android/sqlite数据库中增加一条记录的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3427516/

相关文章:

sqlite - Go/golang sqlite 查询不返回任何行

android - Android 中具有一对多和多对多关系的 INSERT 和 SELECT 语句

Android 格式 #.# 的 Java 十进制问题

php - SQLite多线程-避免不必要的读者阻塞

java - 类的 saveInstantState()

安卓工作室 : Building to multiple targets

c# - 如何使用sqlite数据库上传和检索图像

Python 和 sqlite3 - 添加数千行

android - layout-large-mdpi-land 不适用于 Android 1.6?

android - 如何将可扩展 ListView 滚动到最后?