我使用phonegap创建一个Android应用程序。 我做了这些步骤: 1.写了html,css和jquery移动代码。 2.包括phonegap.js。 3.通过sqlite manager firefox扩展创建数据库并复制到项目目录的根目录(在index.html旁边)。 4.使用此代码:
<script>
$(function() {
onDeviceReady();
queryDB();
$("#links").niceScroll();
});
</script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
var db = window.openDatabase("shia.sqlite", "1.0", "shia", 100000);
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM posts', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
console.log("Returned rows = " + results.rows.length);
// this will be true since it was a select statement and so rowsAffected was 0
if (!results.rowsAffected) {
console.log('No rows affected!');
return false;
}
// for an insert statement, this property will return the ID of the last inserted row
console.log("Last inserted row ID = " + results.insertId);
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
</script>
此错误显示在控制台中:
未捕获的TypeError:无法读取属性&#39; executeSql&#39;未定义的
请帮帮我。
答案 0 :(得分:1)
@Behzad, 你的代码有函数
function queryDB(tx) {
tx.executeSql('SELECT * FROM posts', [], querySuccess, errorCB);
}
但是,当您拨打queryDB
时,您没有通过句柄。所以在这个函数中,参数tx
为null,因为你没有传递句柄。