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);
}
);
我在做什么错?
问候, 丹尼尔
答
解决了!插入:html5sql.openDatabase("com.dynamicvenues.fairkeyMobile.db","Questionnaire",3*1024*1024);
在html5sql.process()
之前在questionnaire.js
您使用哪个浏览器来测试?请注意,只有特定的浏览器在取消该功能之前已经实现了该功能。看来http://html5sql.com/正在使用Web SQL数据库,这是一个不再由W3C维护的本地SQL数据库:[“请注意,此规范不再处于主动维护状态,Web应用程序工作组不打算进一步维护它。“](http://dev.w3.org/html5/webdatabase/) – feeela
解决! 插入:html5sql.openDatabase(“com.dynamicvenues.fairkeyMobile.db”,“Questionnaire”,3 * 1024 * 1024); 之前html5sql.process()在questionnaire.js ... Btw。这是我用Phonegap/Cordova构建的Android应用程序 –
然后[作为回答而不是评论](http://blog.*.com/2011/07/its-ok-to-ask-and -answer-your-own-questions /)并接受它。 “要说得很清楚,提出并回答你自己的问题不仅仅是可以的,而是明确的鼓励。” – feeela