У меня есть база данных SQLite, в которую вставляются записи для моего приложения для Android.
Я вставляю ответы на экранные опросы, по одному ответу на каждую строку в моей таблице.
Мои опросы содержат 20 вопросов, и они правильно вставляют ответы в базу данных для первого опроса, но затем, когда я вставляю ответы для второго опроса (программно те же самые вопросы, только что повторенные), он искажает базу данных, но никогда не выбрасывает исключение или что-либо. Я запускаю проверку целостности до и после, и она всегда возвращает true.
Необычная вещь заключается в том, что она искажается, только когда я пытаюсь посмотреть на стол на моем компьютере. Я попытался использовать средство просмотра баз данных SQLite, средство TKSQLite, а затем открыть БД из прилагаемого файла sqlite3.exe, и все они, похоже, показывают БД как искаженную. Хотя инструмент TKSQLite уведомляет меня о том, что таблица искажена, я могу получить данные в других таблицах. Браузер баз данных SQLite просто не отображает данные в таблице, а sqlite3.exe не открывает никаких таблиц.
Очень необычная вещь, если я запрашиваю таблицу в приложении и печатаю строки курсора для входа в систему cat, или использую данные в приложении, все данные есть.
Кто-нибудь видел только частичные пороки развития без исключения? Я хотел бы, чтобы моя база данных была нетронутой ... но если мои данные есть, могу ли я надеяться, что они больше не будут искажены?
Я работал с базами данных SQLite для нескольких проектов, в настоящее время делающих аналогичные вещи, и это первый раз, когда я вижу только частичную деформацию.
Если это поможет, я использую программирование планшета Acer a501 на Honeycomb 3.2
Кроме того, я обращаюсь к базе данных, используя статический синглтон, чтобы избежать слишком частого открытия и закрытия базы данных для каждой вставки и изначально вставляется с помощью команд SQL с использованием execSQL()
, но также пытался использовать метод SQLiteDatabase insert()
безрезультатно.