如何读取sqlite3数据库,使用节点js,同步?
exports.allProbes = function() { var rows = db.all("SELECT * FROM probes;"); return rows; };
main: var json_values = allProbes();
有没有可能做这样的事情? 我的意思是,不使用callback函数:只是,从数据库读取数据(同步模式)。 并返回一个JSON格式的输出?
谢谢。
你将无法与sqlite3做到这一点。 使用sqlite3模块的唯一可用的操作模式是asynchronous执行,你将不得不使用callback。 例如。
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; });
检查sqlite3 API文档 。
你必须用npm install –save sql.js来安装sql.js
rest按照以下步骤:
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