我使用 sqlite 在数据库中填充了一些表。我在另一个执行数据库并从表中选择一些值的 javascript 页面上创建了一个函数。该函数在 $(document).ready() 处调用。
Javascript:
//DB Population
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "SqliteTrial", 20000);
db.transaction(populateDB, errorCB, successCB);
}
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS Subjects');
tx.executeSql('CREATE TABLE IF NOT EXISTS Subjects (id unique, subjectname)');
tx.executeSql('INSERT INTO Subjects (id, subjectname) VALUES (1, "Math")');
tx.executeSql('INSERT INTO Subjects (id, subjectname) VALUES (2, "Science")');
}
function GetSubjectsFromDB()
{
console.log("");
tx.executeSql('SELECT * FROM Subjects', [], queryNSuccess, errorCB);
}
function queryNSuccess(tx, results) {
alert("Query Success");
console.log("Returned rows = " + results.rows.length);
if (!results.rowsAffected) {
console.log('No rows affected!');
return false;
}
console.log("Last inserted row ID = " + results.insertId);
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
这条线有问题吗?
tx.executeSql('SELECT * FROM Subjects', [], queryNSuccess, errorCB);
没有调用 queryNSuccess,errorCB 也没有调用,所以我不知道出了什么问题。
这就是我在另一个页面上的称呼:
Javascript:
$(document).ready(function () {
DisplayData();
GetSubjectsFromDB(tx);
});