Erhalten Sie aktualisierte Zeilenanzahl von SQLite in Android mit einer unformatierten Abfrage?

8

Wie kann ich die Anzahl der Zeilen mithilfe einer update -Anweisung in SQLite in Android aktualisieren?

Beachten Sie, dass ich eine Art rohen Ausführung einer SQL-Anweisung verwenden muss, anstatt irgendetwas mit ContentValues zu tun, da ich eine dynamische Abfrage benötige. Daher kann ich die Methode SQLiteDatabase.update() nicht verwenden. Zum Beispiel führe ich etwas wie

%Vor%

Die Methoden, von denen ich weiß, dass sie leer sind, z. %Code%. SQLiteDatabase.execSQL() gibt SQLiteDatabase.rawQuery() zurück, aber der Cursor hat null Zeilen und seine Anzahl ist immer -1.

    
Tyler Collier 12.07.2011, 05:00
quelle

4 Antworten

15

Sie können Ihre Einfügung nach Belieben vornehmen und dann eine Auswahl treffen und die changes() verwenden Funktion, um die Anzahl der betroffenen Zeilen zurückzugeben.

    
Mat 12.07.2011, 05:03
quelle
10

Um die Mat-Antwort zu erweitern, hier der Beispielcode zum Abrufen der aktualisierten Zeilenanzahl:

%Vor%     
Pang 26.08.2013 09:36
quelle
4
___ qstnhdr ___ Erhalten Sie aktualisierte Zeilenanzahl von SQLite in Android mit einer unformatierten Abfrage? ___ qstntxt ___

Wie kann ich die Anzahl der Zeilen mithilfe einer simpleQueryForLong() -Anweisung in SQLite in Android aktualisieren?

Beachten Sie, dass ich eine Art rohen Ausführung einer SQL-Anweisung verwenden muss, anstatt irgendetwas mit %code% zu tun, da ich eine dynamische Abfrage benötige. Daher kann ich die Methode %code% nicht verwenden. Zum Beispiel führe ich etwas wie

%Vor%

Die Methoden, von denen ich weiß, dass sie leer sind, z. %Code%. %code% gibt %code% zurück, aber der Cursor hat null Zeilen und seine Anzahl ist immer -1.

    
___ answer39488149 ___

Sie können dafür die Methode SQLiteStatement.executeUpdateDelete verwenden:

%Vor%

Dieselbe Methode, die intern in SQLiteDatabase.update (...) Methoden verwendet wird.

    
___ tag123sqlite ___ SQLite ist eine Softwarebibliothek, die eine eigenständige, serverlose Transaktions-SQL-Datenbank-Engine ohne Konfiguration implementiert. ___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ answer18441056 ___

Um die Mat-Antwort zu erweitern, hier der Beispielcode zum Abrufen der aktualisierten Zeilenanzahl:

%Vor%     
___ answer6659693 ___

Sie können Ihre Einfügung nach Belieben vornehmen und dann eine Auswahl treffen und die %code% verwenden Funktion, um die Anzahl der betroffenen Zeilen zurückzugeben.

    
___
Baker 12.09.2015 11:57
quelle
1

Sie können dafür die Methode SQLiteStatement.executeUpdateDelete verwenden:

%Vor%

Dieselbe Methode, die intern in SQLiteDatabase.update (...) Methoden verwendet wird.

    
Fedir Tsapana 14.09.2016 10:28
quelle

Tags und Links