2

我有一组复选框,我想在其中将它们的“已检查”状态添加到数据库中。我曾经像这样将它们添加到 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)');

是否有一些方法可以从函数本身中处理数据库?

4

1 回答 1

1

你应该使用:

tx.executeSql('UPDATE WeekDay SET Checked = 1 Where WeekId= ?', [status[i].CheckBoxId]);  

您不能直接从查询中引用变量,您必须插入它的值。

于 2012-07-10T02:51:45.030 回答