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