2012-06-01 33 views
0

我是node.js的新手。我通過使用node.js創建了服務器端應用程序。在這個應用程序中,我從數據庫中檢索數據。我有以下的代碼如下:與node.js中的數據庫進行通信

router.map(function() { 
this.root.bind(function (req, res) { 
db.all("SELECT * FROM employee", function(err, rows) 
{ 
    rows.forEach(function(row) 
    { 
     str=str+' '+row.name+'  '+row.empid+' '+row.address+' '+row.mobile; 
     res.send(str); 

    }); 


}); 

}); 

這個代碼後res.send(STR)返回我只有數據庫作爲控制返回的第一行。我想以我的iOS應用程序中的數據以json格式。請就這個問題提出一些解決方案。

回答

1

喜歡的東西

router.map(function() { 
    this.root.bind(function (req, res) { 
     db.all("SELECT * FROM employee", function(err, rows) 
     { 
      res.send(JSON.stringify(rows)); 
     }); 
    }); 
}); 

OR

router.map(function() { 
    this.root.bind(function (req, res) { 
     db.all("SELECT * FROM employee", function(err, rows) 
     { 
      var out = []; 
      var rowidx; 
      for(rowidx in rows) { 
       out.push({name: rows[rowidx].name, empid: rows[rowidx].empid, address: rows[rowidx].address, mobile: rows[rowidx].mobile}); 
      } 
      res.send(JSON.stringify(out); 
     }); 
    }); 
}); 

應該可以正常工作,這取決於 「行」 的對象是簡單的還是不是。

+0

我不明白rowidx行[rowidx] .name ??? –

+0

@VXtreme當你遍歷一個數組時,你得到索引。我剛剛命名了我回來的索引「rowidx」。然後要訪問數組中的元素,可以執行行[rowidx]。 – Fritzy

相關問題