0
我得到這個「sqlite3_close(0x1f7f708)失敗:27」有時錯誤,我不明白爲什麼。這裏是我的代碼:sqlite3_close失敗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天..