2012-10-09 88 views
0

我的知識存在差距,我在互聯網上找不到答案。SQLite SELECT * FROM table WHERE id =?麻煩

基本上我做了一個node.js應用程序,它使用socket.io從SQLite數據庫中推送條目。

我使用SQLite的實施在這裏 - >https://github.com/developmentseed/node-sqlite3

我試圖執行語句:

db.serialize(function() { 
     db.run("SELECT * FROM messages WHERE id=?", messageNum, function(err, row) { 
      console.log(row.id);    
     }); 
    }); 

我無法找到文檔。它拋出這個錯誤的時刻:

無法讀取的不確定

我基本上猜到語法...任何人都知道它實際上是財產「身份證」?

編輯

我已經解決該問題得到了與一個極其低效的解決方案現在:

db.serialize(function() { 

     db.each("SELECT id, msg, date FROM messages", function(err, row) { 
      if(row.id === messageNum){ 
       console.log(row.id);  
      } 
     }); 

    }); 

將是一件好事,如果有人可以在某一點上正確的方向指向我雖然,謝謝。

回答

0

閱讀documentation - run函數不返回任何數據。

each功能支持的參數,就像run

db.each("SELECT id, msg, date FROM messages WHERE id = ?", 
     messageNum, 
     function(err, row) { 
      console.log(row.id); 
     }); 
+0

我找不到任何文檔,感謝您的鏈接 –

+0

其實,跑確實有一些特性是在回調中訪問。 –

相關問題