【问题标题】:How to obtain affected rows of an update called through execSQL() or rawQuery() SQLite?如何获取通过 execSQL() 或 rawQuery() SQLite 调用的更新的受影响行?
【发布时间】:2012-01-04 05:14:55
【问题描述】:

检索最后一个UPDATE SQLite 语句的受影响行数的 SQL 语句是什么。 MySQL 示例是ROW_COUNT()PRAGMA count_changes; SQLite Pragma 语句已弃用,因此我不会使用它。

我不想使用 SQLiteDatabase.update() 来检索此信息,我想知道如何只使用原始查询来执行此操作,无论是通过 .rawQuery() 还是 .execSQL()

谢谢

【问题讨论】:

标签: java android sql sqlite sql-update


【解决方案1】:

您可以使用 SQLite changes() 函数。

【讨论】:

  • 这似乎在 Android 中不可用。
【解决方案2】:

我来晚了,但我只想分享这个

SQLiteDatabase db = this.getWritableDatabase();
db.execSQL(yourSqlQuery);
Cursor res = db.rawQuery("select changes() 'affected_rows'", null);
res.moveToFirst();
int affected_rows = res.getInt(res.getColumnIndex("affected_rows"));

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多