var db = new sqlite3.Database("items.db");
db.serialize(function()
{
var stmt = " SELECT * FROM items;";
db.get(stmt, function(err, row){
if(err) throw err;
if(typeof row == "undefined") {
db.prepare("INSERT INTO items (ID) VALUES(?)").run("item1").finalize();
} else {
console.log("row is: ", row);
}
});
});
上面的代码段会产生以下错误:
events.js:72
throw er; // Unhandled 'error' event
^
Error: SQLITE_MISUSE: Database handle is closed
我不确定我做错了什么,这是最好的方法吗?
我也尝试过使用:
var stmt = " SELECT EXISTS(SELECT * FROM monitor LIMIT 1)";
检查条目是否存在。
d
答案 0 :(得分:1)
我终于弄明白了问题所在。我有一个db.close();在我没注意的文件末尾调用。我还没有习惯在node.js中异步运行的东西。
events.js文件似乎位于node-sqlite包中。
感谢所有试图提供帮助的人。
d