2016-06-13 29 views
2

無法在電子應用程序將數據寫入到ASAR數據歸檔中SQLite的數據庫文件

var fs = require('fs'); 
 
var SQL = require('sql.js'); 
 
var filebuffer = fs.readFileSync('./resources/app.asar/app/data/sample.db'); 
 
var db = new SQL.Database(filebuffer); 
 

 

 
function save_data(){ 
 
    var name=document.getElementById('name').value; 
 
    var ip=document.getElementById('serverip').value; 
 
    var result=db.each("UPDATE Settings SET Name=$name, IP=$ip WHERE SettingsId=$set",{$name:name,$ip : ip,$set:1},function(row){console.log(row.name)}); 
 
    var data = db.export(); 
 
    var buffer = new Buffer(data); 
 
    fs.writeFileSync('./resources/app.asar/app/data/sample.db', buffer); 
 
}

我能夠從ASAR數據歸檔中的數據庫文件中讀取數據,但在將數據寫入數據庫文件,它不會在asar存檔中得到更新。所以請幫我解決這個問題。

回答

3

Asar是一個只讀存檔。它只是將所有文件連接成一個blob。

+0

謝謝。然後,我會將db文件放在存檔文件之外。 –

+0

你可以接受答案。謝謝 – felix

+0

是的。我接受這個答案 –

相關問題