База данных Android Sqlite: не удалось распознать новый столбец или новую таблицу, которые я добавил в существующую базу данных - PullRequest
0 голосов
/ 19 февраля 2010

У меня была рабочая база данных. Я только добавил еще один столбец в таблице. Он продолжает говорить "нет" в этой колонке. Поэтому я изменил имя таблицы. Теперь говорится, что нет этого имени таблицы. Затем я изменил имя базы данных. это все еще дало ошибку. он работает нормально после того, как я изменил имя таблицы и удалил дополнительный столбец, который добавил. Не могли бы вы помочь мне выяснить, что не так? Как мне запустить мой код на чистом эмуляторе? Как проверить, что код, который создает таблицу, выполняется? Как получить базу данных sqlite от emualtor и посмотреть на нее с помощью браузера базы данных sqlite, чтобы убедиться, что таблица действительно существует?

Большое спасибо! Tong

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

Для дальнейшего использования (люди ищут проблему):

Попробуйте команду

this.deleteDatabase("database_name");

из вашей основной деятельности, где "database_name" - это имя вашей базы данных. Делайте это всегда, если вы изменяете любую структуру таблицы (добавляя столбцы), в противном случае вам, вероятно, придется использовать метод onUpgrade в SQLLiteOpenHelper.

Также, как вы сказали, убедитесь, что у вас нет запятых в db.execSQL (команде) в конце команды String.

1 голос
/ 19 февраля 2010

В реальном мире вам придется изменить версию базы данных и перенести изменения в onUpgrade(..).
При разработке вы можете выбрать «Очистить пользовательские данные» в конфигурации запуска Eclipse для своего проекта, затем закрыть эмулятор и снова запустить приложение.

0 голосов
/ 22 февраля 2010

Я нашел ошибку. Я пропустил запятую после добавления последнего столбца. Простая ошибка может стоить много.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...