この「sqlite3_close(0x1f7f708)failed:27」エラーが発生することがあり、その理由がわかりません。これが私のコードです:
xMessage[] msgs = new xMessage[howMany];
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor, cursorData = null;
cursor = db.query(mail_bridge_table_name, new String[] {mbfn_mbridge_PK, mbfn_mdata_FK, mbfn_contacts, mbfn_subject, mbfn_sentTime, mbfn_receivedTime, mbfn_maccount_FK }, null,
null, null, null, mbfn_sentTime + " desc", first + "," + howMany);
if (cursor != null)
cursor.moveToFirst();
else
{
msgs[0] = new xMessage();
msgs[0].set_bodyPlain("Mail data not found!");
return msgs;
}
long count = cursor.getCount();
for (int i = 0; i < count; i++)
{
[omissis: db unrelated code....]
cursorData = db.query(mail_data_table_name, new String[] {mdfn_mdata_PK, mdfn_header, mdfn_body }, mdfn_mdata_PK + "=?",
new String[]{cursor.getString(mbfi_mdata_FK)}, null, null, null, null);
if (cursorData != null)
{
cursorData.moveToFirst();
}
cursor.moveToNext();
}
if (cursor != null)
{
cursor.close();
}
if (cursorData != null)
{
cursorData.close();
}
db.close(); <----- here I get sometime the error
return msgs;
同じデータベースで動作している別のスレッドがありますが、停止してもエラーが発生します。周りを見回したところ、フォーラムで失敗したことがわかりました。27は、アクションを開いたままデータベースを閉じようとしても続きます...しかし、閉じた2つのカーソルを開くだけです。
誰でも助けることができますか?私は2日以来この問題を積み重ねています。