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 に答える