2011-12-18 2 views
0

Я создаю базу данных. В этой дате создайте 3 строки. Когда я с помощью этой базы данных в Android я получаю эту ошибку:Ошибка в Sqlite. Android

12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database corruption found by source line 40107 
12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database disk image is malformed 

получается Эта ошибка, когда я: Выберите или Вставить. Как решить эту ошибку?

+0

Вы можете разместить свой код для создания базы данных и выбрать/вставить запросы –

ответ

1

Удалите приложение из эмулятора, затем установите его снова, это создаст новую базу данных.

EDIT: Убедитесь, что таблица с именем android_metadata с локальем колонка (TEXT), поместите строку в нем (en_US)

Маленькая хитрость, что я сделать, это создать базу данных, как правило, в приложение, я заполняю его, затем я извлекаю его из эмулятора с помощью DDMS или adb (из/data/data/mypackage/databases/nameofthedatabase), а затем я помещаю его в активы. Таким образом, я могу быть уверен, что база данных действительна.

Или вы можете создать его в приложении, получить его, затем заполнить или изменить (я использую sqlitebrowser в linux, прекрасно работает), затем я вернул его в/data/data/mypackage/databases/nameofthedatabase, или в активах и скопировать его там.

+0

Я сделал это, но снова получаю эту ошибку. Я создаю эту базу данных с помощью tksqlite (http://reddog.s35.xrea.com/wiki/TkSQLite.html). Я поместил базу данных в активы, а затем использовал стандартный код (DataBaseHelper). – Anton

+0

Я отредактировал ответ –

+0

Спасибо, но я уже создаю простой скрипт perl, который создает мне базу данных. Теперь все работает :) – Anton

Смежные вопросы