【发布时间】:2014-02-27 04:42:18
【问题描述】:
我在我的活动中使用了以下代码,它检查数据库错误并且工作正常:
//DB Test
Boolean databaseError = false;
SQLiteDatabase myDB = null;
myDB = this.openOrCreateDatabase("myDB", 0, null);
try {
myDB.rawQuery("SELECT _id FROM occasions;", null);
myDB.rawQuery("SELECT _id FROM instrumentations;", null);
myDB.rawQuery("SELECT _id FROM editions;", null);
myDB.rawQuery("SELECT _id FROM composers;", null);
myDB.rawQuery("SELECT _id FROM compositions;", null);
} catch (SQLiteException e) {
Log.e("SQLiteException", "SQLiteException");
databaseError = true;
}
myDB.close();
我想把代码放在下面的帮助类中:
public abstract class BackupHelper {
public static boolean checkDB() {
Boolean databaseError = false;
SQLiteDatabase myDB = null;
myDB = SQLiteDatabase.openDatabase("myDB", null, SQLiteDatabase.OPEN_READWRITE);
try {
myDB.rawQuery("SELECT _id FROM occasions;", null);
myDB.rawQuery("SELECT _id FROM instrumentations;", null);
myDB.rawQuery("SELECT _id FROM editions;", null);
myDB.rawQuery("SELECT _id FROM composers;", null);
myDB.rawQuery("SELECT _id FROM compositions;", null);
} catch (SQLiteException e) {
Log.e("SQLiteException", "SQLiteException");
databaseError = true;
}
myDB.close();
return databaseError;
}
}
但这会引发以下错误:
02-26 21:13:16.397: E/MyTestDatabase(29244): sqlite3_open_v2("myDB", &handle, 2, NULL) 失败 02-26 21:13:17.048: E/AndroidRuntime(29244): 原因: android.database.sqlite.SQLiteException: 无法打开数据库文件
【问题讨论】: