PhoneGap удалить базу данных после выхода из приложения - PullRequest
0 голосов
/ 16 декабря 2011

Я использую функцию SQLite из phonegap (1.2) в моем приложении, и после выхода из приложения и перезапуска все данные, которые я ранее сохранял в базе данных, исчезли. Как я могу предотвратить потерю данных и где приложение хранится на устройстве (Android, iPhone).

Создать таблицу:

function favouritesInit(transaction){
    transaction.executeSql('CREATE TABLE IF NOT EXISTS FAVOURITES (id INTEGER PRIMARY KEY, lat, ln, title, cont)');
}

Вставка:

var statement = 'INSERT INTO FAVOURITES (lat, ln, title, cont) values('+the_fav.getPosition().lat()+', '+the_fav.getPosition().lng()+', '+the_fav.getTitle()+', '+content+')';
    transaction.executeSql(statement);

спасибо

Ответы [ 2 ]

1 голос
/ 27 января 2012

Вы должны убедиться, что проблема в том, что база данных удаляется после закрытия приложения.Мне кажется, что это просто, что данные не попадают в базу данных с вашей вставкой.С этим кодом, который вы передали, я могу только догадываться, но на вашем месте я бы запустил транзакцию для чтения данных из базы данных сразу после ее вставки, просто чтобы убедиться, что она действительно попадает в базу данных.

0 голосов
/ 25 июня 2015

Проблема в том, что вы не передали значение для первичного ключа.

Ваша таблица имеет идентификатор в качестве первичного ключа, и поэтому она не может быть нулевой.Единственное исключение - когда вы объявляете идентификатор как «AUTOINCREMENT»: в этом случае, если вы не передадите значение первичного ключа, база данных назначит следующее доступное значение из таблицы последовательности, созданной для этой цели.

Надеюсь, это поможет: https://www.sqlite.org/autoinc.html

Ура!

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