2012-07-04 163 views
2

我有一組複選框,我希望將其「已檢查」狀態添加到數據庫。 我曾經將它們添加到像這樣的的localStorage:從複選框更新Sqlite數據庫

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)'); 

是有一些方法來從函數本身內的數據庫上運行?

回答

1

您應該使用:

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

你不能直接從查詢引用變量,你必須插入它的價值。