SQLite SELECT * FROM表WHERE id =?故障

时间:2012-10-09 09:52:21

标签: javascript sql sqlite node.js

我的知识存在差距,我无法在互联网上找到答案。

基本上我正在创建一个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);            
        });
    });

我找不到文档。它暂时抛出了这个错误:

无法读取未定义

的属性'id'

我基本上猜到了语法......任何人都知道它究竟是什么?

修改

我现在解决了一个效率极低的解决方案:

db.serialize(function() {

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

    });

如果有人能指出我在某个方面正确的方向,那将会很好,谢谢。

1 个答案:

答案 0 :(得分:0)

阅读documentation - run函数不会返回任何数据。

each函数支持参数,就像run

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