sql >> データベース >  >> RDS >> SQLite

AndroidのSqliteの行を更新できませんが、エラーはスローされません

    1)。 Logcatを確認してください エラーがないこと。

    2)。 ロギングを有効にして、実行しているすべてのSQLステートメントを表示します。

    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
    

    またはこれを読んでください:https://stackoverflow.com/a/19152852/1796309
    またはこれ:https://stackoverflow.com/a/6057886/1796309

    とにかく、正しいSQLクエリを実行していることを確認する必要があります。

    3)。 クエリは正常であるが、それでも行を更新できない場合は、次のようにする必要があります。

    3.1)<android-sdk-dir>/platform-toolsに移動します

    3.2)。現在のビルドがDebugであることを確認してください (Releaseではありません 、またはメッセージが表示されますadbd cannot run as root in production builds

    つまり、このボタンからアプリを実行する必要があります:

    そして次のコマンドを実行します:

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

    この後、SQLiteデータベースのコピーが~/projects/ にあります。 ディレクトリ。

    たとえば、http://sqlitebrowser.org/

    を使用して開きます。

    Logcatから取得できる更新クエリを実行してみてください 。
    すべてのSQLエラーが表示され、非常に迅速に修正できます。

    頑張ってください!



    1. Oraclesqlの単一行関数

    2. SQLServerのSTATISTICSTIMEとは何ですか?

    3. 動的WHERE句を作成するにはどうすればよいですか?

    4. MySQLのCHECK制約が機能していません