SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Die Zeile in Sqlite in Android kann nicht aktualisiert werden, es wird jedoch kein Fehler ausgegeben

1). Überprüfen Sie Ihren Logcat dass Sie keine Fehler haben.

2). Aktivieren Sie die Protokollierung, um alle SQL-Anweisungen anzuzeigen, die Sie ausführen:

https://gist.github.com/davetrux/9741432

adb shell setprop log.tag.SQLiteLog V
adb shell setprop log.tag.SQLiteStatements V
adb shell stop
adb shell start

Oder lesen Sie dies:https://stackoverflow.com/a/19152852/1796309
Oder hier:https://stackoverflow.com/a/6057886/1796309

Wie auch immer, Sie müssen überprüfen, ob Sie die richtige SQL-Abfrage durchführen.

3). Wenn Ihre Abfrage in Ordnung ist, Sie Ihre Zeile aber immer noch nicht aktualisieren können, müssen Sie Folgendes tun:

3.1) Gehen Sie zu <android-sdk-dir>/platform-tools

3.2). Stellen Sie sicher, dass Ihr aktueller Build Debug ist (nicht Release , oder Sie erhalten die Meldung adbd cannot run as root in production builds ).

Ich meine, Sie sollten Ihre App über diese Schaltfläche ausführen:

Und führen Sie die nächsten Befehle aus:

./adb root
./adb shell
run-as com.mycompany.app    //<----------- your applicationId from build.gradle
ls -l
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:44 cache
drwx------ u0_a88   u0_a88            2016-01-25 15:25 code_cache
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:44 databases    //<----
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:26 files

cd databases/
ls -l
-rw-rw---- u0_a88   u0_a88     172032 2016-01-25 15:45 <your-app>.db
-rw------- u0_a88   u0_a88      33344 2016-01-25 15:45 <your-app>.db-journal

chmod 777 -R <your-app>.db
exit
exit
./adb pull /data/data/<your applicationId from build.gradle>/databases/<your-app>.db ~/projects/

Danach haben Sie eine Kopie Ihrer SQLite-Datenbank in ~/projects/ Verzeichnis.

Öffnen Sie es beispielsweise folgendermaßen:http://sqlitebrowser.org/

Versuchen Sie, eine Update-Abfrage auszuführen, die Sie von Logcat erhalten können .
Sie sehen alle SQL-Fehler und können diese sehr schnell beheben.

Viel Glück!