将Node.js 4.2.1
与sqlite3 3.1.1
一起使用以下代码 -
var sqlitedb = new sqlite3.Database(sqliteFilename);
sqlitedb.serialize(function() {
sqlitedb.run("SELECT ZDATA FROM ZMYTABLE;", function(err, rows) {
console.log(rows);
});
});
sqlitedb.close();
在控制台中打印undefined
,但如果使用sqlite3
工具执行相同的查询,则可以正常工作 -
$ sqlite3 backup.sqlite
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite> SELECT ZDATA FROM ZMYTABLE;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
...
知道为什么SQL在Node.js中返回undefined
行?
答案 0 :(得分:2)
方法run()
不返回值,并且在回调中,只返回错误。
这将完美地运作:
// create smartbutton
$('nav').before('<div id="smartbutton"></div>');
$('#smartbutton').append('<div class="buttonline"></div>');
$('#smartbutton').append('<div class="buttonline"></div>');
$('#smartbutton').append('<div class="buttonline"></div>');
// add click listener
$('#smartbutton').click(function(event)
{
$('nav').animate({height:'toggle'},200);
});
答案 1 :(得分:0)
sqlite3 3.1.1不支持Node.js 5.0.0。我们应该等待更新sqlite3。