html5sql - 似乎无法连接到我的DB

问题描述:

我使用html5sql.com做HTML5 DB的东西:O) - 真是一个伟大的模块...html5sql - 似乎无法连接到我的DB

不过,我卡住了!

在我的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); 
     } 

现在,在被称为questionnaire.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); 
      } 
     ); 

我在做什么错?

问候, 丹尼尔

+1

您使用哪个浏览器来测试?请注意,只有特定的浏览器在取消该功能之前已经实现了该功能。看来http://html5sql.com/正在使用Web SQL数据库,这是一个不再由W3C维护的本地SQL数据库:[“请注意,此规范不再处于主动维护状态,Web应用程序工作组不打算进一步维护它。“](http://dev.w3.org/html5/webdatabase/) – feeela

+0

解决! 插入:html5sql.openDatabase(“com.dynamicvenues.fairkeyMobile.db”,“Questionnaire”,3 * 1024 * 1024); 之前html5sql.process()在questionnaire.js ... Btw。这是我用Phonegap/Cordova构建的Android应用程序 –

+0

然后[作为回答而不是评论](http://blog.*.com/2011/07/its-ok-to-ask-and -answer-your-own-questions /)并接受它。 “要说得很清楚,提出并回答你自己的问题不仅仅是可以的,而是明确的鼓励。” – feeela

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