Не удается подключиться к предварительно заполненной базе данных в sqlite с помощью ionic5 - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть предварительно заполненная база данных с именем animals.db , в которой я хранил папку assets / data / . Я создал сервис, который подключается к базе данных. Согласно последним документам, ioni c не поддерживает openDatabase, вместо этого он уведомляет об использовании create.

Ниже приведен код, который я пробовал.

const options: any = {
  name: 'animals.db',
  location: 'default',
  createFromLocation: 1
}
      constructor(private plt: Platform, private sqlitePorter: SQLitePorter, private sqlite: SQLite, private http: HttpClient) {
        this.plt.ready().then(() => {
          console.log("ready to connect");
          this.sqlite.create(options).then((db: SQLiteObject) => {
              this.database = db;
              alert("obj =>"+JSON.stringify(this.database))
          }).catch(e => alert(e))
        });
      }

    getData(){
        this.database.executeSql(`SELECT * FROM animaldata WHERE Date='12-Apr-20`, [])
            .then((res) => {alert('Executed SQL =>'+ JSON.stringify(res))},(e)=>alert(JSON.stringify(e)))
            .catch(e => console.log(e));
      }

this.sqlite.create не открывает соединение с предварительно заполненной БД, так как я получаю сообщение об ошибке, в котором отсутствует таблица «animaldata» .

Также я использовал приведенный ниже запрос, чтобы получить список всех таблиц, используя запрос ниже

SELECT * FROM sqlite_master where type='table'

Но он показывает ноль строк и кажется, что он не может найти БД в активах. папка или sqlite.create не соединяются с предварительно заполненной базой данных.

Я что-то не так делаю в вышеуказанных шагах?

Моя информация env для справки

Ionic:

   Ionic CLI                     : 5.4.16 (C:\Users\vrus\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 5.0.7
   @angular-devkit/build-angular : 0.803.26
   @angular-devkit/schematics    : 8.3.26
   @angular/cli                  : 8.3.26
   @ionic/angular-toolkit        : 2.2.0

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 5 other plugins)
...