從Sqlite DB獲取值我使用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不被調用,也不是錯誤CB,所以我不知道錯在哪裏。
這是我如何把它在另一頁:
的Javascript:
$(document).ready(function() {
DisplayData();
GetSubjectsFromDB(tx);
});
「tx」是如何初始化的?控制檯中是否有任何錯誤報告? – Pointy 2012-07-07 15:16:28
我把tx的代碼。在控制檯中找不到錯誤。 – 2012-07-07 22:41:41
我沒有看到設置了「tx」的代碼。 – Pointy 2012-07-07 22:49:32