我在sqlite中使用Phonegap有一个名为Demo的表.我在其中插入了一些值.现在我想更新一条记录.
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(updatemonthSaveingDB, errorCB);
function updatemonthSaveingDB(tx)
{
tx.executesql("UPDATE DEMO SET data = " + submitval + " WHERE id = " + 8, [], updateCB, errorCB);
}
function errorCB(err)
{
alert("Error processing sql: " + err.code);
}
现在,当我抛出此查询时,它显示*错误处理sql:0 *警报.
解决方法:
问题是在sqlite查询中传递变量的方式是不正确的
在这个功能
function updatemonthSaveingDB(tx)
{
tx.executesql("UPDATE DEMO SET data = " + submitval + " WHERE id = " + 8, [], updateCB, errorCB);
}
sqlite将“UPDATE DEMO SET data =”视为查询,因为您使用了“错误.
正确的方法是:
function updatemonthSaveingDB(tx)
{
tx.executesql("UPDATE DEMO SET data ='" +submitval+"' WHERE id = '"+8+"' ;", [], updateCB, errorCB);
}