private static final String DB_NAME = "MyDebts.db";
private static final String CREATE_DB_QUERY =
"CREATE TABLE " + Dao.CONTACTS_TABLE_NAME + " (ContactId varchar(64), Credit integer);\n" +
"CREATE TABLE " + Dao.SETTINGS_TABLE_NAME + " (Name varchar(64), Value varchar(64));"
;
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_DB_QUERY);
}
正如我在调试模式中看到的那样db.execSql
没有任何异常,但在此代码中
String lastStepIndexString = null;
try {
lastStepIndexString = SettingsDao.readSetting("last-step-index");
} catch (Exception ex) {
makeToast(ex.getMessage());
}
catch()
由异常触发,消息如
没有名称为“首选项”的表
如何解决这个问题?
答案 0 :(得分:0)
是否有名为Preferences的表?
使用此处描述的方法检查数据库: http://developer.android.com/guide/developing/tools/adb.html#sqlite
我不确定DAO.SETTINGS_TABLE_NAME
是什么,也许您可以尝试直接创建数据库名称偏好。
private static final String CREATE_DB_QUERY =
"CREATE TABLE " + Dao.CONTACTS_TABLE_NAME + " (ContactId varchar(64), Credit integer);\n" +
"CREATE TABLE Preferences(Name varchar(64), Value varchar(64));";
答案 1 :(得分:0)
解决方案:单独查询la:
db.execSQL(CREATE_DB_QUERY_1);
db.execSQL(CREATE_DB_QUERY_2);