2017-05-31 6 views
0

Ich arbeite an einem Projekt auf ionischen 3 eckigen 4. Ich muss eine Verbindung zu einer Datenbank und andere Dinge tun ... So habe ich eine Seite (.ts .html .scss. module.ts), ein Provider, wo ich sql. Also mein Problem ist folgendes, ich habe diesen Fehler:Einfügen Anbieter für SQLiteObject ionic 3

core.es5.js: 1084
ERROR Fehler: Uncaught (in Versprechen): Fehler: Kein Anbieter für SQLiteObject!
Fehler: Kein Anbieter für SQLiteObject!

Also in module.ts ich in Provider-Flag hinzugefügt habe ich SQLiteObject. Aber jetzt bekomme ich diesen neuen Fehler:

compiler.es5.js: 1540
Uncaught Fehler: Kann nicht alle Parameter für SQLiteObject auflösen: (?).

Auch wenn ich SQLite lege es will immer die SQLiteObject provider.Anyway ich SQLite nie nur verwenden SQLiteObject

import { SQLiteObject } from '@ionic-native/sqlite'; 

ich google und ich fand, dass SQLiteObject keinen Anbieter, sondern nur eine Schnittstelle.

Also? Irgendeine Idee? Ich kann Code setzen, aber ist lang, wenn Sie eine Idee haben, bitte kommentieren Sie.

Antwort

0

Sie haben Recht SQLiteObject ist kein Provider, aber Sie versuchen, es als einen zu importieren. Es ist ein Klassenobjekt, das vom SQLite-Provider verwendet wird, sodass Sie das Objekt aus Ihrem Konstruktor speichern und es dann als this.db von dort verwenden können. FYI: Entfernen Sie die Anweisung.

private db: SQLiteObject; 

constructor(private sqlite: SQLite) 
{ 
     this.sqlite.create({ 
      name: 'data.db', 
      location: 'default' 
     }) 
     .then((db: SQLiteObject) => { 
      this.db = db; //set the object to your own var 
      db.executeSql("CREATE TABLE IF NOT EXISTS ...", {}); 
     }); 
} 
1

Sie müssen ihre Klasse in Anbieter in Ihrer app.module.ts Datei hinzufügen, wie:

import { SQLiteObject } from '@ionic-native/sqlite'; 

@NgModule({ 
    declarations: [ 
    MyApp 
    ], 
    imports: [ 
    // 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp 
    ], 
    providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}, SQLiteObject] 
}) 

export class AppModule {}