Нет такого исключения таблицы в Android - PullRequest
0 голосов
/ 30 октября 2010
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() запускается по исключению с сообщением типа

Нет таблицы с названием "Предпочтения"

Как это решить?

Ответы [ 2 ]

0 голосов
/ 31 октября 2010

Решение: отдельные запросы а-ля:

db.execSQL(CREATE_DB_QUERY_1);
db.execSQL(CREATE_DB_QUERY_2);
0 голосов
/ 30 октября 2010

Создана ли таблица с именем 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));";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...