新事务正在等待打开操作sqlite

时间:2016-09-01 05:51:16

标签: android sqlite cordova

我正在使用此插件:https://github.com/litehelpers/Cordova-sqlite-storage

我在进行数据库事务时,在项目中遇到了上述问题。实际上我的项目中有很多交易同时来自js和java end。

下面是我的代码(只有一个查询):

function createTable(latWS,longWS,empId) {

        window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'}, function(db) {
        db.transaction(function(tx) {
            tx.executeSql('CREATE TABLE IF NOT EXISTS test (loc_emp_lat, loc_emp_long, loc_emp_accuracy, loc_emp_local_time)');
        }, function(err) {
            console.log('Open database ERROR: ' + JSON.stringify(err));
        });
      });
        setTimeout(insertIntoLogTable(latWS,longWS,empId),500);
    }

我已经检查过,它没有出错信息。

我正在使用版本: cordova-sqlite-storage 1.4.7“Cordova s​​qlite存储插件”

我的Cordova Android版本是:4.1.1

2 个答案:

答案 0 :(得分:2)

Android上的react-native-sqlite-storage(基于Cordova-sqlite-storage)存在同样的问题。

createFromLocation参数导致弄乱了。在两个平台上仅使用name参数就足够了。

这就是我在Android和iOS上使用的内容:

SQLite.openDatabase({ name: "dbname.sqlite"});

在Android 7.0上,数据库将保存到/data/data/com.mypackage/databases/dbname.sqlite

答案 1 :(得分:-1)

您需要在创建表之前使用延迟,例如:

<p:menuitem>