[英]PhoneGap android database not working
我在从PhoneGap进行数据库示例时遇到问题。 http://docs.phonegap.com/phonegap_storage_storage.md.html#openDatabase
问题是,当我将示例运行到openDatabase并填充时,他会向我检索成功警报,但是当我尝试执行选择操作时,它给了我一个错误:
"Error processing SQL:0"
我不知道数据库和android手机有什么问题吗? 我也在android的模拟器中尝试过,但我一直遇到同样的问题。
你能帮助我吗?
这是JavaScript代码:
现在我有以下代码:
document.addEventListener("deviceready", onDeviceReady, false);
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
function errorCB(err) {
alert("Error processing SQL: " + err.code);
}
function successCB() {
alert("success!");
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
alert("i'm here =)");
}
function querySuccess(tx, results) {
// this will be empty since no rows were inserted.
console.log("Insert ID = " + results.insertId);
// this will be 0 since it is a select statement
console.log("Rows Affected = " + results.rowAffected);
// the number of rows returned by the select statement
console.log("Insert ID = " + results.rows.length);
}
function onDeviceReady() {
$(document).ready(function() {
$('#submit').click(function() {
alert('clicked');
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
db.transaction(populateDB, errorCB, successCB);
db.transaction(queryDB, errorCB);
})
});
}
当我执行填充事务时,仍然具有Succes警报,但是queryDB的警报具有处理SQL:0的错误。
提前致谢,
埃尔卡斯
PS:我也在使用jQuery Mobile
您需要检查phonegap是否准备就绪:
document.addEventListener(“ deviceready”,onDeviceReady,false);
我刚做到了 看来这是操作系统的问题。 我将操作系统降级了,现在该系统运行良好。
顺便说一句,我有OS X Lion和现在的OS X Snow Leopard。 也许问题不是操作系统,而是暂时修复了。 10.7.2推出后,我将再次升级,并在此处提供答复(如果其有效)。
问候,
埃尔卡斯
我忘了更新这个问题。 与Lion 10.7.2一起完美运行。
问候,
埃尔卡斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.