exports.allProbes = function() {
var rows = db.all("SELECT * FROM probes;");
return rows;
};
main:
var json_values = allProbes();
有可能做这样的事情吗?我的意思是,不使用回调函数:只是从数据库中读取数据(同步模式)。并返回一个 json 格式的输出?
谢谢。
有一些 npm 包,例如better-sqlite3和sqlite-sync允许同步 SQLite 查询。这是一个例子:
var sqlite = require("better-sqlite3");
var db = new sqlite("example.db");
var rows = db.prepare("SELECT * FROM probes").all();
console.log(rows);
您将无法使用 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;
});
您必须使用 npm install --save sql.js 安装 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