sql >> Database teknologi >  >> RDS >> SQLite

Kan ikke opdatere række i Sqlite i Android, men giver ingen fejl

1). Tjek din Logcat at du ikke har nogen fejl.

2). Aktiver logning for at se alle SQL-sætninger, som du laver:

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

Eller læs dette:https://stackoverflow.com/a/19152852/1796309
Eller dette:https://stackoverflow.com/a/6057886/1796309

Under alle omstændigheder skal du kontrollere, at du laver den korrekte SQL-forespørgsel.

3). Hvis din forespørgsel er i orden, men du stadig ikke kan opdatere din række, skal du gøre dette:

3.1) Gå til <android-sdk-dir>/platform-tools

3.2). Sørg for, at din nuværende build er Debug (ikke Release , eller du får beskeden adbd cannot run as root in production builds ).

Jeg mener, du skal køre din app via denne knap:

Og kør de næste kommandoer:

./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/

Efter dette vil du have kopi af din SQLite-database i ~/projects/ bibliotek.

Åbn den ved at bruge for eksempel denne:http://sqlitebrowser.org/

Prøv at udføre opdateringsforespørgsel, som du kan få fra Logcat .
Du vil se alle SQL-fejl, og du vil være i stand til at rette det meget hurtigt.

Held og lykke!



  1. IntegrityError duplikatnøgleværdi overtræder unik begrænsning - django/postgres

  2. SQL server ignorer store og små bogstaver i et where-udtryk

  3. Returnerer flere tabeller fra en lagret procedure

  4. Hvordan laver man synkronisering med lokal database og parser?