2

我正在使用 html5sql.com 来做 html5 DB 的东西 :o) - 真的是一个很棒的模块......

然而,我被卡住了!

在我的 index.html/index.js 中,我在其中创建了我的数据库和表。

try {
        html5sql.openDatabase("com.dynamicvenues.fairkeyMobile.db","Questionnaire",3*1024*1024);
        html5sql.process(
                [
                 "CREATE TABLE IF NOT EXISTS Questionnaire (uid INTEGER, json TEXT, hash TEXT);",
                 "CREATE TABLE IF NOT EXISTS Answers (id INTEGER PRIMARY KEY, visitor_id TEXT, json TEXT);"
                ],
                function(){
                     console.log("Success Creating Tables");
                 },
                 function(error, statement){
                     console.error("Error: " + error.message + " when processing " + statement);
                 }        
        )
    } catch(error) {
        alert("Database create failed: "+error.message);
    }

在同一页面中,我用数据填充了一个表:

jQuery.get(serverHttp+"json.php?exhibitorID="+exhibitorID, function(data){
        var html = $(data).map(function() {
            return $(this).html();
        });
        var jsonStr = html[0];
        var exhibitorID = html[1];
        var hashStr = html[2];

        var SQL = "INSERT INTO Questionnaire (uid, json, hash) VALUES ("+exhibitorID+",'"+jsonStr+"','"+hashStr+"')";
        try {
            html5sql.process(SQL,
                    function(){
                        console.log('Inserted 1 row!');
                    },
                    function(){
                        console.error("Error: " + error.message + " when processing " + statement);
                    }
            )
        } catch(error) {
            alert("Query failed: "+error);
        }

现在,在另一个名为 questions.html/questionnaire.js 的页面中,我正在尝试检索存储在问卷调查表中的数据。

html5sql.process(
            ["SELECT * FROM Questionnaire;"],
            function(transaction, results, rowsArray){
                for(var i = 0; i < rowsArray.length; i++){
                    var uid = rowsArray[i].uid;
                    var json = rowsArray[i].json;
                    var hash = rowsArray[i].hash;
                    console.log("Retrieved rows: "+uid+" - "+json+" "+hash);
                }
                console.log("Done selecting data");
            },
            function(error, statement){
                console.error(error.message+" Occured while processing: "+statement);
            }
       );

我究竟做错了什么???

问候,丹尼尔

4

1 回答 1

1

解决了!插入:html5sql.openDatabase("com.dynamicvenues.fairkeyMobile.db","Questionnaire",3*102‌​4*1024);之前html5sql.process()在问卷.js

于 2012-11-14T13:58:50.023 回答