2016-06-13 11 views
2

は、電子アプリでASARアーカイブ内のsqliteのDBファイルにデータを書き込むことができません

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アーカイブ内のデータベースファイルからデータを読み取ることができたが、DBファイルにデータを書き込み中asarアーカイブ内では更新されません。だから私はこの問題を解くのを助けてください。

答えて

3

Asarは読み取り専用のアーカイブです。すべてのファイルを連結して1つのBLOBにします。

+0

ありがとうございました。 dbファイルをアーカイブファイルの外に置きます。 –

+0

あなたはその答えを受け入れることができます。ありがとう – felix

+0

はい。私はこの答えを受け入れる –

関連する問題