2012-10-09 3 views
0

내 지식에 차이가 있으며 인터넷에서 답변을 찾을 수 없습니다.SQLite SELECT * FROM 테이블 WHERE id =? 문제

기본적으로 socket.io를 사용하여 SQLite 데이터베이스에서 항목을 푸는 node.js 앱을 만들고 있습니다.

여기 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);    
     }); 
    }); 

나는 문서를 찾을 수 없습니다. 이 순간에이 오류를 던지고 :

가 정의되지 않은

나는 기본적으로 구문 ... 사람이 실제로 무엇인지 짐작

의 특성 '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

를 들어, 실행은 콜백에서 액세스 할 수있는 몇 가지 특성을 가지고있다. –