ERROR Error: Uncaught (in promise): Not implemented

Viewed 2366

I am trying to use Sqlite Community Plugin (https://github.com/jepiqueau/capacitor-sqlite) on Ionic Framework using Capacitor. When I run the program, I get an error,

core.js:6228 ERROR Error: Uncaught (in promise): Not implemented
    at resolvePromise (zone-evergreen.js:798)
    at zone-evergreen.js:705
    at rejected (tslib.es6.js:72)
    at ZoneDelegate.invoke (zone-evergreen.js:364)
    at Object.onInvoke (core.js:41654)
    at ZoneDelegate.invoke (zone-evergreen.js:363)
    at Zone.run (zone-evergreen.js:123)
    at zone-evergreen.js:857
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Object.onInvokeTask (core.js:41632)

I have copied essentially the whole code from the given GitHub Link, but still I cannot understand why am I getting this error.

export class HomePage implements AfterViewInit{

  _sqlite: any;


  constructor(){

  }

  async ngAfterViewInit() {
    console.log("runnnn");
     const info = await Device.getInfo();
     console.log(info);
     if (info.platform === "ios" || info.platform === "android") {
       this._sqlite = CapacitorSQLite;
     } else if(info.platform === "electron") {
       this._sqlite = CapacitorSQLPlugin.CapacitorSQLiteElectron;
     } else {
       this._sqlite = CapacitorSQLPlugin.CapacitorSQLite;
     }


   }

   async testSQLitePlugin() {
       let result:any = await this._sqlite.open({database:"testsqlite"});
       console.log("result");
       if(result.result) {
           // Create Tables if not exist
           let sqlcmd: string = `
           BEGIN TRANSACTION;
           CREATE TABLE IF NOT EXISTS users (
               id INTEGER PRIMARY KEY NOT NULL,
               email TEXT UNIQUE NOT NULL,
               name TEXT,
               age INTEGER
           );
           PRAGMA user_version = 1;
           COMMIT TRANSACTION;
           `;
           var retExe: any = await this._sqlite.execute({statements:sqlcmd});
           console.log('retExe ',retExe.changes.changes);
           // Insert some Users
           sqlcmd = `
           BEGIN TRANSACTION;
           DELETE FROM users;
           INSERT INTO users (name,email,age) VALUES ("Whiteley","Whiteley.com",30);
           INSERT INTO users (name,email,age) VALUES ("Jones","Jones.com",44);
           COMMIT TRANSACTION;
           `;
           retExe = await this._sqlite.execute({statements:sqlcmd});
           // will print the changes  2 in that case
           console.log('retExe ',retExe.changes.changes);
           // Select all Users
           sqlcmd = "SELECT * FROM users";
           const retSelect: any = await this._sqlite.query({statement:sqlcmd,values:[]});
           console.log('retSelect.values.length ',retSelect.values.length);
           const row1: any = retSelect.values[0];
           console.log("row1 users ",JSON.stringify(row1))
           const row2: any = retSelect.values[1];
           console.log("row2 users ",JSON.stringify(row2))

           // Insert a new User with SQL and Values

           sqlcmd = "INSERT INTO users (name,email,age) VALUES (?,?,?)";
           let values: Array<any>  = ["Simpson","Simpson@example.com",69];
           var retRun: any = await this._sqlite.run({statement:sqlcmd,values:values});
           console.log('retRun ',retRun.changes.changes,retRun.changes.lastId);

          }

        }

}

This is the code for reference. There isn't any compiler error, so all the imports have been made and all the variables have been declared properly.

Also, the _sqlite variable is initialized properly as when I console.log() it, I can see the objects parameters.

0 Answers
Related