#sqlite #ionic3
#sqlite #ionic3
Вопрос:
Я использую sqlite с ionic v3. Проблема в том, что когда я удаляю базу данных sqlite и воссоздаю ее заново, она выдает ошибку No such table table1
.
this.sqlite.deleteDatabase({
name: 'db.db',
location: 'default'
})
.then(() => {
return this.sqlite.create({
name: 'db.db',
location: 'default'
})
})
.then((db: SQLiteObject) => {
// create table queries
});
Комментарии:
1. Почему вам нужно удалить db, я смотрю, они одинаковые
2. Я хочу стереть все данные.
3. на самом деле лучше всего, если вы удалите table
4. Если я удалю и воссоздам все таблицы, проблема в том, что предыдущие данные существуют до тех пор, пока я не закрою приложение в фоновом режиме и не открою снова. В моем приложении я хочу удалить все данные при выходе из системы и создать заново при входе в систему.
5. Прежде всего, вам нужно создать service for table для всех типов операций с базой данных, затем, когда вы захотите выйти из системы, удалите table по службам.
Ответ №1:
потому что вы только создаете базу данных. вам нужно создать таблицу после создания базы данных
ваш код выглядит следующим образом
this.sqlite.deleteDatabase({
name: 'db.db',
location: 'default'
})
.then(() => {
return this.sqlite.create({
name: 'db.db',
location: 'default'
})
})
.then((db: SQLiteObject) => {
// create table queries
db.executeSql('create table table1(name VARCHAR(32))', {})
.then(() => console.log('Executed SQL'))
.catch(e => console.log(e));
});
});