ionic executeSql не работает - PullRequest
       13

ionic executeSql не работает

0 голосов
/ 26 апреля 2018

Я на самом деле пытаюсь сделать мобильное приложение с SQLite. Я просто пытаюсь создать две таблицы:

constructor(private sqlite:SQLite,public modalCtrl: ModalController,public navCtrl: NavController, private navParam: NavParams, private databaseprovider: DatabaseProvider, private employeesProvider: EmployeeProvider) {
    this.createDetabaseFile();
}

private createDetabaseFile() : void {
    this.sqlite.create({
          name: DATABASE_FILE_NAME,
          location: 'default'
    }).then((dbRes: SQLiteObject) => {
        alert("bdd créée");
        this.db = dbRes;
        this.createTables();
    })
}

private createTables() : void {
    this.db.executeSql('CREATE table IF NOT EXISTS  symbole(id INTEGER NOT NULL ,name TEXT)',{})
        .then(() => {
            alert("table symbole created");
            this.db.executeSql('CREATE table IF NOT EXISTS representationPhoto(name VARCHAR(32))',{})
                .then(() => {
                    alert("table representationPhoto created");
                })
            .catch(e => alert("erreur creation table"));
        })
        .catch(e => alert("erreur creation table"));
}

И db.executeSql(), кажется, не работают, действительно, alert("table symbole created"); не появляется, однако alert("bdd créée") появляется, и программа не запускает перехват.

У тебя есть идея?

PS: извините за мой плохой английский

Ответы [ 2 ]

0 голосов
/ 28 июля 2018

Вы пропускаете platform ready блок перед обработкой SQLite. Попробуйте это:

import { Platform } from 'ionic-angular';
constructor(private platform: Platform, ...other imports) {
 this.platform.ready().then(() => {
  this.createDetabaseFile();
 })
}
0 голосов
/ 26 июля 2018

Пожалуйста, попробуйте объявить переменную db над функцией createDetabaseFile, мне кажется, это проблема, потому что вы используете this.db без объявления его в области видимости класса.

Попробуйте сделать это:

public db: any; // above createDetabaseFile function
...