繁体   English   中英

PhoneGap Android数据库无法正常工作

[英]PhoneGap android database not working

我在从PhoneGap进行数据库示例时遇到问题。 http://docs.phonegap.com/phonegap_storage_storage.md.html#openDatabase

问题是,当我将示例运行到openDatabase并填充时,他会向我检索成功警报,但是当我尝试执行选择操作时,它给了我一个错误:

"Error processing SQL:0"

我不知道数据库和android手机有什么问题吗? 我也在android的模拟器中尝试过,但我一直遇到同样的问题。

你能帮助我吗?

这是JavaScript代码:

现在我有以下代码:

   document.addEventListener("deviceready", onDeviceReady, false);

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS DEMO');
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

function errorCB(err) {
    alert("Error processing SQL: " + err.code);
}

function successCB() {
    alert("success!");
}

function queryDB(tx) {
    tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}

function querySuccess(tx, results) {
    alert("i'm here =)");
}

function querySuccess(tx, results) {
    // this will be empty since no rows were inserted.
    console.log("Insert ID = " + results.insertId);
    // this will be 0 since it is a select statement
    console.log("Rows Affected = " + results.rowAffected);
    // the number of rows returned by the select statement
    console.log("Insert ID = " + results.rows.length);
}

function onDeviceReady() {
    $(document).ready(function() {
        $('#submit').click(function() {
            alert('clicked');
            var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
            db.transaction(populateDB, errorCB, successCB);
            db.transaction(queryDB, errorCB);
        })
    });
}

当我执行填充事务时,仍然具有Succes警报,但是queryDB的警报具有处理SQL:0的错误。

提前致谢,
埃尔卡斯

PS:我也在使用jQuery Mobile

您需要检查phonegap是否准备就绪:

document.addEventListener(“ deviceready”,onDeviceReady,false);

我刚做到了 看来这是操作系统的问题。 我将操作系统降级了,现在该系统运行良好。

顺便说一句,我有OS X Lion和现在的OS X Snow Leopard。 也许问题不是操作系统,而是暂时修复了。 10.7.2推出后,我将再次升级,并在此处提供答复(如果其有效)。

问候,
埃尔卡斯

我忘了更新这个问题。 与Lion 10.7.2一起完美运行。

问候,
埃尔卡斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM