1
我在使用web sql數據庫的html5項目。如何使用web sql數據庫對兩個表進行遞歸查詢?
我有2個表格。
產品表
- ID
- 名
價格表
- ID
- PRODUCT_ID
- 日期
- 價格
產品可以有多個不同日期的價格。
我想是這樣的:
bd.x.transaction(function (tx) {
tx.executeSql('SELECT * FROM Products WHERE id = ?', intProductId,
function (tx, rs) {
if (rs.rows.length > 0) {
var objProduct = new clsProduct();
objProduct.setId(rs.rows.item(0).id);
objProduct.setName(rs.rows.item(0).name);
// Query Price Start
bd.x.transaction(function (tx) {
tx.executeSql('SELECT * FROM Prices WHERE product_id = ?', intProductId,
function (tx, rs) {
var x = rs.rows.length;
if (x > 0) {
var arrResult = [];
for (var i = 0; i < x; i++) {
arrResult[i] = new clsPrice();
arrResult[i].setId(rs.rows.item(i).id);
arrResult[i].setDate(rs.rows.item(i).date);
arrResult[i].setPrice(rs.rows.item(i).price);
}
// set prices
objProduct.setPrice(arrResult);
}
},
bd.onError
);
});
// Query Price End
}
},
bd.onError
);
});
的問題是,價格查詢光潔度和objProduct.getPrice之前的產品查詢完成()返回undefined。
如果我在價格查詢中放置了一個警報,記錄被找到並且我可以看到結果。
我該怎麼辦?
謝謝。
你說得對。我很擔心HTML5的新的可能性,我忘了舊的解決方案。感謝您記住,世界不僅僅是轉向HTML5。呵呵 :) –