sqlite - PhoneGap + SQLite问题

标签 sqlite cordova

由于某些原因,以下代码不起作用:

var users = window.SQLitePlugin.openDatabase("users","1.0","Demo",-1);
users.transaction(function(tx){
    KovarApp.lib.say("Transaction Started");
    var createString =  "CREATE TABLE IF NOT EXISTS 'users' ('id' integer(11) primary key, 'username' varchar(25),'password' varchar(100),'firstname' varchar(25),'lastname' varchar(25),'qdatabase' varchar(20),'ugroup' varchar(50),'status' varchar(50))";
    tx.executeSql(createString,[],function(tx,res){
        KovarApp.lib.say("Create Worked");
    },function(){
        KovarApp.lib.say("Create Failed");
    });

    var insertString = "INSERT INTO users (username,password,firstname,lastname,qdatabase,ugroup,status) values ('jktest','e10adc3949ba59abbe56e057f20f883e','Andrew','Rhyne','basictemplate','admin','yes')";
    tx.executeSql(insertString,[],function(tx,res){
        KovarApp.lib.say("Insert Worked");
    },function(){
        KovarApp.lib.say("Insert Failed");
    });

    var testString = "SELECT 1 FROM users WHERE username = 'jktest'";
    tx.executeSql(testString,[],function(tx,res){
        KovarApp.lib.say("res.rows.length: " + res.rows.length + " -- should be 1");
    });
    KovarApp.lib.say('Transaction Ended');
});


我的日志函数吐出了事务开始和事务结束的消息,但没有为单个查询触发回调。我正在使用Brody的sqlite3插件:https://github.com/brodyspark/PhoneGap-SQLitePlugin-Android

这里的任何帮助都会很棒。我真的不知道我在做什么错,但是那根本没有用。作为附带说明,他已指定数据库大小没有任何限制,并以-1表示(表示没有大小限制)。

最佳答案

所有回调函数都是异步执行的。
在您的代码中,insert / select命令在之前的命令完成之前启动,而事务在各个命令完成之前结束。

移动代码以将命令启动到上一个命令的成功回调函数中。
换句话说,transactionexecuteSql调用应始终是其包含函数中的最后一条语句。

关于sqlite - PhoneGap + SQLite问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804012/

相关文章:

javascript - 独特项目总数

java - SQLite JDBC 与 Gradle 自定义运行时镜像

java - 使用 SQLite 数据库修复 NullPointerException

cordova - 是否可以自定义InAppBrowser的 "Done"按钮和栏位置?

javascript - IOS 本地通知不适用于 PhoneGap

iphone - 如果我需要在应用程序购买中测试 phonegapp,我应该发布一个应用程序吗?

python - 由于 ' 字符,SQLite3 请求不起作用

android - 使用数据库android的更新更新或刷新UI

android - Cordova 视频/音频无法从 cdvfile ://urls after update to 3. 3.0 播放

ios - PhoneGap iOS 构建奇怪的行为