2012-11-14 28 views
2

我使用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.stackoverflow.com/2011/07/its-ok-to-ask-and -answer-your-own-questions /)並接受它。 「要說得很清楚,提出並回答你自己的問題不僅僅是可以的,而是明確的鼓勵。」 – feeela

回答

1

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