2017-02-27 74 views
0

即時通訊在我的程序中有問題。我需要將我的數組的所有值傳遞給數據庫。這是我的計劃..我的程序只獲得陣列的第一個值,我需要所有的

exports.post = function(req, res){ 
 
\t var obj = {}; 
 
\t var eacode = req.body.eacode; 
 
\t db.all("SELECT * FROM localarea_listings WHERE eacode= ? ",eacode, function(err,rows2){ 
 
\t rows2.forEach(function (row2) { 
 
\t var hcn = row2.hcn; 
 
\t var shsn = row2.shsn; 
 
\t console.log(hcn); 
 
\t console.log(shsn); 
 
\t }); 
 
\t db.all("UPDATE localarea_listings SET INTERVIEW_STATUS = ? WHERE eacode = ? 
 
     and hcn =? and shsn = ?",[req.body.INTERVIEW_STATUS, req.body.eacode, 
 
     req.body.hcn, req.body.shsn],function(err,rows){ 
 
\t \t if (err) 
 
    { 
 
    console.log("Error Updating : %s ",err); 
 
\t \t } 
 
\t \t else 
 
    console.log("Success updating localarea_listings"); 
 
\t \t }); 
 
\t }); \t 
 
};

的數據將根據從數據庫localarea_listings.db

比方說值HCN是1,2,3變量eacode處理, 4,5和shsn分別是6,7,8,9,10。

當我打印hcn和shsn時,該值會顯示我想要的,即 hcn = [1,2,3,4,5]和shsn = [6,7,8,9,10]

問題將從這裏開始,當我更新它時,它僅更新數組的第一個值,即hcn爲1,shsn爲6。我試過使用row2 [0] .hcn和row2 [0] .shsn,但它會導致錯誤..

我希望我的問題很清楚。謝謝!

回答

1

您需要將更新在foreach

exports.post = function(req, res) { 
 
    var obj = {}; 
 
    var eacode = req.body.eacode; 
 
    db.all("SELECT * FROM localarea_listings WHERE eacode= ? ", eacode, function(err, rows2) { 
 
     rows2.forEach(function(row2) { 
 
     var hcn = row2.hcn; 
 
     var shsn = row2.shsn; 
 
     console.log(hcn); 
 
     console.log(shsn); 
 
     db.all("UPDATE localarea_listings SET INTERVIEW_STATUS = ? WHERE eacode = ? and hcn = ? and shsn = ? ",[req.body.INTERVIEW_STATUS, req.body.eacode, hcn, shsn], function(err, rows) { 
 
      if (err) { 
 
      console.log("Error Updating : %s ", err); 
 
      } else 
 
      console.log("Success updating localarea_listings"); 
 
     }); 
 
     }); 
 
     
 
    }); 
 
};

+0

仍然有同樣的問題裏面。它只是仍然更新數組的第一個值 –

+0

是什麼數組?你是否在更新查詢中更改'hcn,shsn'的值,以便從select查詢中傳遞它們而不是body? – madalinivascu

+0

我沒有改變它。你認爲我的更新查詢是否正確以傳遞許多數據值? –

相關問題