Как получить затронутые строки обновления, вызываемого через execSQL () или rawQuery () SQLite? - PullRequest
0 голосов
/ 23 ноября 2011

Что такое командная строка SQL для получения количества затронутых строк последнего UPDATE оператора SQLite. Пример MySQL - ROW_COUNT(). PRAGMA count_changes; SQLite Pragma устарела, поэтому я не буду ее использовать.

Я не хочу использовать SQLiteDatabase.update () для получения этой информации, я хотел бы знать, как это сделать, используя только необработанные запросы, либо .rawQuery(), либо .execSQL().

Спасибо

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Вы можете использовать функцию SQLite changes () .

0 голосов
/ 25 июля 2018

Я очень опоздал, но я просто хочу поделиться этим

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"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...