0

我的知识在这里存在差距,我在互联网上找不到答案。

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

    });

不过,如果有人能在某个时候为我指出正确的方向,那就太好了,谢谢。

4

1 回答 1

0

阅读文档——该run函数不返回任何数据。

each函数支持参数,就像run

db.each("SELECT id, msg, date FROM messages WHERE id = ?",
        messageNum,
        function(err, row) {
            console.log(row.id);
        });
于 2012-10-09T10:29:42.650 回答