0

Motorola PLUS でアプリを実行しているユーザーがいて、sqlite データベースから読み取ろうとすると、次の例外が発生します。

アプリとデータベースを完全に削除して再インストールしようとしました。

また、単純な rawquery を使用してデータベースにクエリを実行しようとしましたが、成功しませんでした。

どんな提案でも大歓迎です!

java.lang.RuntimeException: An error occured while executing doInBackground()
    at android.support.v4.b.r.done(SourceFile:137)
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
    at java.lang.Thread.run(Thread.java:1019)
Caused by: android.database.sqlite.SQLiteException: no such table: records: , while compiling: SELECT _id, name, isbackground FROM records ORDER BY _id ASC
        at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
        at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
        at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
        at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
        at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
        at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1365)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280)
        at com.voicepro.db.RecordsContentProvider.query(SourceFile:289)
        at android.content.ContentProvider$Transport.query(ContentProvider.java:187)
        at android.content.ContentResolver.query(ContentResolver.java:266)
        at android.support.v4.b.f.loadInBackground(SourceFile:49)
        at android.support.v4.b.f.loadInBackground(SourceFile:35)
        at android.support.v4.b.a.onLoadInBackground(SourceFile:240)
        at android.support.v4.b.b.doInBackground(SourceFile:51)
        at android.support.v4.b.b.doInBackground(SourceFile:40)
        at android.support.v4.b.q.call(SourceFile:123)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
        ... 4 more
android.database.sqlite.SQLiteException: no such table: records: , while compiling: SELECT _id, name, isbackground FROM records ORDER BY _id ASC
        at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
        at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
        at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
        at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
        at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
        at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1365)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280)
        at com.voicepro.db.RecordsContentProvider.query(SourceFile:289)
        at android.content.ContentProvider$Transport.query(ContentProvider.java:187)
        at android.content.ContentResolver.query(ContentResolver.java:266)
        at android.support.v4.b.f.loadInBackground(SourceFile:49)
        at android.support.v4.b.f.loadInBackground(SourceFile:35)
        at android.support.v4.b.a.onLoadInBackground(SourceFile:240)
        at android.support.v4.b.b.doInBackground(SourceFile:51)
        at android.support.v4.b.b.doInBackground(SourceFile:40)
        at android.support.v4.b.q.call(SourceFile:123)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
        at java.lang.Thread.run(Thread.java:1019)
4

1 に答える 1

1

私は同じ問題を抱えていました。私の推測では、あなたが言ったようにすべてのデバイスで発生するわけではありませんが、問題は sqlite バージョンではありません。問題はおそらく、コードのどこかでテーブルを削除したためです (私の場合、キャッシュを削除しましたWeb クライアント)。コードを調べて再検査してください。

参照: すべてのデバイスではない奇妙な SQLiteException

于 2012-11-07T14:18:37.433 に答える