我第一次尝试更新记录中的字段,但是在使用变量指定行时它没有保存更新。
问题背景 - 当用户单击图像时,将调用 checkDone() 函数,并传递行号 (i)。然后我为行 nbr (i) 设置了一个全局变量 (glbID),并调用 updateDB 函数来更新指定行的状态字段。我从未收到错误消息,但是注意到该字段没有更新。当我对行 ID 进行硬编码时,它保存了更新。但是,使用 glbID var 以及另一个 strID 来查看它是否是格式类型问题,无法解决问题。尝试了其他几种变体均无济于事。
感谢任何人对此的帮助。正在使用 Android 模拟器进行测试,如果有任何其他信息有助于分析,请告诉我。
function checkDone(i) {
var db = window.openDatabase("Database", "1.0", "GTKdb", 200000);
glbID = i //SET global variable to row nbr
document.getElementsByTagName("img")[i].src = "img/checkbox_checked.png";
db.transaction(updateDB, errorCB);
}
function updateDB(u) {
var strDone = "DONE"
var strID = "" + glbID; //SET new variable to glbID, converting to string to see if format type issue
u.executeSql('UPDATE USER set status = ? where id = ?', [strDone,"2"], successCB, errorCB); //THIS WORKS WHEN ID value hardcoded
//u.executeSql('UPDATE USER set status = ? where id = ?', [strDone,glbID], successCB, errorCB); //NO UPDATE using var glbID
//u.executeSql('UPDATE USER set status = ? where id = ?', strDone,strID], successCB, errorCB); //NO UPDATE using var strID
alert('AFTER UPDATE Status= '+status); //No value for status appears
}