2016-06-13 25 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

是的。我接受这个答案 –

相关问题