【问题标题】:Error processing SQL:0 PhoneGap SQL处理 SQL 时出错:0 PhoneGap SQL
【发布时间】:2012-12-20 14:45:43
【问题描述】:

我正在尝试并从这里复制代码: http://luthfihariz.wordpress.com/2011/10/23/android-sqlite-phonegap-jquerymobile/ 为了获得成功,我正在研究这个样本。 我有一个指向我在 pastebin 上的完整 index.html 的链接。

请纠正我并帮助我找出这个错误。

Link to Pastebin here

【问题讨论】:

  • 您的错误是否表明哪一行引发了该错误?您还可以尝试将 opendatabase 调用移到 onDeviceReady 方法中吗?
  • 我收到一条警报,起初显示“成功!”然后我按确定,然后弹出另一个。那个说“错误处理 SQL:0”。
  • 我仔细查看了您的代码,并提出了一些想法,但我不能明确地说它们都是根本原因。我认为您现在可以做的最好的事情是添加更多日志记录以确定哪一行导致您输入 errorCB 函数。一旦您至少可以了解它是如何到达您的错误函数的,我们就可以更准确地进行调试。

标签: javascript sql html cordova


【解决方案1】:

我没有太多时间,马上就是圣诞节了 :) 但是.. :) 我确实用你的代码作为初学者写了一个工作示例。

使用 Cordova 版本 2.2.0 使用PhoneGap编译 我确实在安卓设备上测试过 我确实在这里和那里更改了一些东西,但我使用了来自here 的代码作为参考。

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

var db = "";

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS SoccerPlayer');
    tx.executeSql('CREATE TABLE IF NOT EXISTS SoccerPlayer (Name TEXT NOT NULL, Club TEXT NOT NULL)');
    tx.executeSql('INSERT INTO SoccerPlayer(Name,Club) VALUES ("Alexandre Pato", "AC Milan")');
    tx.executeSql('INSERT INTO SoccerPlayer(Name,Club) VALUES ("Van Persie", "Arsenal")');
}

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


function querySuccess(tx,result){
        var playerlist = document.getElementById("SoccerPlayerList");
        var players = "";
        alert("The show is on");
        var len = result.rows.length;
        for (var i=0; i<len; i++){
            alert(result.rows.item(i).Name + result.rows.item(i).Club);
            players = players + '<li><a href="#"><p class="record">'+result.rows.item(i).Name+'</p><p class="small">Club '+result.rows.item(i).Club+'</p></a></li>';
        }   

        playerlist.innerHTML = players;
        $("#SoccerPlayerList").listview("refresh");
}


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


function successCB() {
    db.transaction(queryDB, errorCB);
}


function onDeviceReady() {
    db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
    db.transaction(populateDB, errorCB, successCB);
}

【讨论】:

  • 谢谢,圣诞快乐!救命稻草! :D
猜你喜欢
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-02
相关资源
最近更新 更多