Ionic 2 Sqlite android: java.sql.SQLException: sqlite3_step Ошибка: невозможно выполнить откат

Я новичок в Ionic, пытаюсь создать мобильное приложение с автономной поддержкой. Я пытаюсь создать базу данных используя cordova sqlite плагин. Я вижу файл базы данных в моем эмуляторе data\data\package\data.db, Невозможно выполнить любой оператор вставки.

import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  dbHandle : SQLiteObject;
  constructor(public navCtrl: NavController, private sqlite: SQLite, public plt: Platform) {
    this.plt.ready().then((readySource) => {
      console.log('Platform ready from', readySource);
      // Platform now ready, execute any required native code
      this.handleDbCreation(); 
    });

  }

  handleDbCreation() {
    this.sqlite.create({
      name: 'data.db',
      location: 'default'
    }).then((db: SQLiteObject) => {
      this.dbHandle = db;
      db.executeSql('create table danceMoves(name VARCHAR(32))', {})
        .then(() => {console.log('Executed SQL')
          this.insertDataIntoDB();
        })
        .catch(e => console.log(e));
    }).catch(e => console.log(e));
  }

  insertDataIntoDB(){
    this.dbHandle.executeSql("insert into danceMoves values(?)",['testing'])
    .then((resultSet)=>{
        console.log('resultSet.insertId: ' + resultSet.insertId);
        console.log('resultSet.rowsAffected: ' + resultSet.rowsAffected);
    })
    .catch((error)=>{
       console.log('SELECT error: ' + error.message);
    });  
  }
}

Я получаю указанную ниже ошибку.

D / SystemWebChromeClient (11475): файл:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js: строка 179: ОТКРЫТЬ базу данных: data.db - OK [ИНФО: КОНСОЛЬ (179)] " ОТКРЫТАЯ база данных: data.db - OK", источник: файл:///android_asset/www/plugins/cordova-sqlite-storage/www/SQLitePlugin.js (179) java.sql.SQLException: ошибка sqlite3_step: невозможно выполнить откат - нет транзакция активна по адресу io.liteglue.SQLiteGlueConnection$SQLGStatement.step(SQLiteGlueConnection.java:135) по адресу io.sqlc.SQLiteConnectorDatabase.executeSQLiteStatement(SQLiteConnectorDatabase.java:214) по адресу io.sqlc.SQLiteConnectorDatabase.BaseNetConnector_javaConnect_js в io.sqlc.SQLitePlugin$DBRunner.run(SQLitePlugin.java:340) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) в java.util.concurrent.ThreadPoolExcecutor.:587) at java.lang.Thread.run(Thread.java:841) SQLitePlugin.executeSqlBatch: Ошибка = ошибка sqlite3_step: невозможно выполнить откат - нет транзакции является активным по адресу io.sqlc.SQLiteConnectorDatabase.executeSqlBatch (SQLiteConnectorDatabase.java:114) по адресу io.sqlc.SQLitePlugin$DBRunner.run(SQLitePlugin.java:340) по адресу java.util.concurrent.ThreadPoolExecutor.runjolec) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) в java.lang.Thread.run (Thread.java:841) SQLitePlugin.executeSqlBatch: код ошибки SQL = 1 сообщение = ошибка sqlite3_step: ошибка отката: невозможно выполнить откат - ошибка возврата транзакция не активна

0 ответов

Другие вопросы по тегам