SQLite
 sql >> Base de données >  >> RDS >> SQLite

Impossible de mettre à jour la ligne dans Sqlite sous Android mais sans générer d'erreur

1). Vérifiez votre Logcat que vous n'avez aucune erreur.

2). Activez la journalisation pour voir toutes les instructions SQL, ce que vous faites :

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

Ou lisez ceci :https://stackoverflow.com/a/19152852/1796309
Ou ceci :https://stackoverflow.com/a/6057886/1796309

Quoi qu'il en soit, vous devez vérifier que vous effectuez une requête SQL correcte.

3). Si votre requête est bonne, mais que vous ne pouvez toujours pas mettre à jour votre ligne, vous devez faire ceci :

3.1) Accédez à <android-sdk-dir>/platform-tools

3.2). Assurez-vous que votre build actuel est Debug (pas Release , ou vous obtiendrez le message adbd cannot run as root in production builds ).

Je veux dire que vous devriez exécuter votre application via ce bouton :

Et exécutez les commandes suivantes :

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

Après cela, vous aurez une copie de votre base de données SQLite dans ~/projects/ répertoire.

Ouvrez-le en utilisant, par exemple ceci :http://sqlitebrowser.org/

Essayez d'exécuter la requête de mise à jour, que vous pouvez obtenir à partir de Logcat .
Vous verrez toutes les erreurs SQL et vous pourrez les corriger très rapidement.

Bonne chance !