我有一组复选框,我想在其中将“已检查”状态添加到数据库中。 我曾经将它们添加到localStorage中,如下所示:
function SaveData()
{
var status = $('input[type="checkbox"]').filter('.custom').map(function(){
var name = $(this).attr('name');
var CheckBoxId= $(this).attr('CheckboxId');
if($(this).is(':checked'))
return { 'name':name, 'status' : 'Checked', 'CheckBoxId':CheckBoxId};
else
return null;
});
localStorage["Days"] = status.length;
for(var i = 0;i<status.length;i++)
{
localStorage["Day" + i] = status[i].name;
}
}
现在我想将它们添加到sqlite数据库,但是当我添加像这里的任何语句时,根本看不到javascript页面,所以我不知道在哪里写这个语句。
for(var i = 0;i<status.length;i++)
{
tx.executeSql('UPDATE WeekDay SET Checked = 1 Where WeekId= status[i].CheckBoxId');
}
这是数据库中的表格:
tx.executeSql('DROP TABLE IF EXISTS WeekDay');
tx.executeSql('CREATE TABLE IF NOT EXISTS WeekDay (id unique, DayName, Checked INTEGER)');
是否有一些方法可以在函数本身内处理数据库?
答案 0 :(得分:1)
您应该使用:
tx.executeSql('UPDATE WeekDay SET Checked = 1 Where WeekId= ?', [status[i].CheckBoxId]);
您无法直接从查询中引用变量,您必须插入其值。