【问题标题】: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
【解决方案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"));