exports.allProbes = function() {
var rows = db.all("SELECT * FROM probes;");
return rows;
};
main:
var json_values = allProbes();
是否有可能做这样的事情? 我的意思是,没有使用回调函数:只是,从数据库读取数据(同步模式)。并返回一个json格式的输出?如何使用节点js同步读取sqlite3数据库?
谢谢。
exports.allProbes = function() {
var rows = db.all("SELECT * FROM probes;");
return rows;
};
main:
var json_values = allProbes();
是否有可能做这样的事情? 我的意思是,没有使用回调函数:只是,从数据库读取数据(同步模式)。并返回一个json格式的输出?如何使用节点js同步读取sqlite3数据库?
谢谢。
你不能用sqlite3来做到这一点。对于sqlite3模块,唯一可用的操作模式是异步执行,您将不得不使用回调。例如。
exports.allProbes = function(callback) {
db.all("SELECT * FROM probes;", function(err, all) {
callback(err, all);
});
};
然后在你的代码:
var json_values;
allProbes(function(err, all) {
json_values = all;
});
感谢您的回复。 – Kreshnik 2013-07-10 22:57:50
或只是..'db.all(“SELECT * FROM probes;”,callback)', – 2018-01-27 06:40:06
您必须安装与NPM sql.js安装--save sql.js
休息遵循以下步骤:
var fs = require('fs');
var sql = require('sql.js');
var bfr = fs.readFileSync('/tmp/db.sqlite');
var db = new sql.Database(bfr);
db.each('SELECT * FROM test', function (row) {
console.log(row);
});
更多细节你可以在这个链接如下:https://discuss.atom.io/t/how-to-access-a-local-db-on-windows-through-electron/22400/13
这不回答这个问题。 _file_被同步读取,但数据库查询仍然需要异步回调。 – vqdave 2017-12-24 18:17:30
有几个npm包,如better-sqlite3和sqlite-sync,允许同步SQLite查询。这里有一个例子:
你使用什么模块?这完全取决于它是否具有同步支持。 – travis 2013-03-22 17:24:17
我已经用以下命令安装了sqlite3:“npm install sqlite3” – Kreshnik 2013-03-22 17:29:14