3
我有一個項目列表,&一個循環,其中我檢查列表中的每個項目是否在數據庫中找到(如果沒有找到它,插入它)。發送參數到電話號碼上的sqlite函數
function AddItems(tx)
{
for(var i = 0 ; i<itemscounter; i++)
{
itemI=itemsList[i];
tx.executeSql('SELECT * FROM Items Where ItemsTable.ItemId="'+itemI+'"', [], AddItemsToDB, errorCB);
}
}
的問題是,該函數等待,直到它完成所有迭代然後執行sqlite的語句,以便在itemI值總是等於itemsList [itemscounter。 因此,它進入AddItemsToDB「items counter」次,但始終使用相同的值(數組中的最後一個值)。
這是成功的功能:
function AddItemsToDB(tx, results)
{
var len = results.rows.length;
alert(itemI); // Always has the same value!
if(len==0)
{
tx.executeSql('INSERT INTO ItemsTable (ItemId) VALUES ('+itemI +')');
}
}
所以,我想知道是否有在成功函數本身來傳遞參數的一些方法,或者如果有一個傳遞的項目之一的另一種方法?
萬分感謝。它終於奏效了。 Reaalllyyy Thaannkkks =)) – 2012-07-17 15:23:50