2011-01-19 5 views
2

この例外を回避するにはどうすればよいですか?どのようにしてDatabaseObjectNotClosedExceptionを回避できますか

 
01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): Releasing statement in a finalizer. Please ensure that you explicitly call close() on your cursor: SELECT * FROM test 

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here 

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here 

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):  at android.database.sqlite.SQLiteCompiledSql.(SQLiteCompiledSql.java:62) 

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):  at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:80) 

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):  at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:46) 

答えて

5

このエラーは、データベースを閉じなかったために表示されると思います。必ずsqlitehelperクラス

を閉じるEDITED:

あなたはSQLiteOpenHelperクラスを拡張して、あなたのクラスで、次のように実装する必要があります:上)それが言うように、

まあ
@Override 
public synchronized void close() { 
    if(db != null){ 
     db.close(); 
    super.close(); 
    } 
} 
+0

が – jennifer

+0

デシベルを意味助けるスローされる理由は二回thatsの

db = eventsData.getReadableDatabase(); 

を呼んでいましたSQLiteOpernHelperのオブジェクトまたはヘルパークラス.Plsの説明は – jennifer

+0

です。このクラスで使用するオブジェクトはSQLiteです。name.iはdb.okを使用しています –

3

(危機一髪あなたのカーソル!

1

カーソルを使用しているときに間違ったSQLクエリがあったときにも、その例外が発生しました。それは愚かに聞こえるかもしれませんが、もし誰かが同じものを見つけたら、別の原因です...

0

私は例外を解決しました。意味:どのオブジェクト:私は例外が私はcursor..afterにすべてのDB操作を閉じ.OR OnDestroy..plsで

関連する問題