在我的應用程序中,我在很多情況下使用數據庫,但有一種情況是我得到一個異常,並非每次都可以重現(但)。SQLiteException:不是一個錯誤
這隻發生在操作系統版本2.3.7和2.1-update-1上。
代碼:
public void removeOldOccurrences() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
Long oldTime = System.currentTimeMillis() - VALID_OCCURRENCE_TIME;
String query = "";
try {
query = "DELETE FROM " + LOCATIONS_TABLE + " WHERE not ("
+ REMEMBERED_FIELD + "=1) " + "and (" + LAST_FIELD + "<"
+ oldTime + ");";
db.execSQL(query);
} catch (Exception e) {
Log.e(TAG, query);
e.printStackTrace();
} finally {
if (db != null) {
db.close();
}
}
}
的異常跟蹤是:
android.database.sqlite.SQLiteException: not an error
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
at android.database.sqlite.SQLiteDatabase.(SQLiteDatabase.java:1849)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:854)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:847)
at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:573)
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
請幫助。
嘿男人謝謝你的答案。我不認爲這是真的,有兩個原因:1.除了那幾個案例(大部分是在2.3.7)之外,同一個查詢每次都成功。 2.在您鏈接的同一文檔中寫入:「這些是一元前綴運算符: - +〜NOT」。除此之外,preetha說,並寫道,當他說我得到了getWritableDatabase()方法的異常。 – Bush