我是Electron的新手。这真是太棒了,而且入门也非常有趣和简单。一段时间以来,我一直在尝试寻找一种“数据库”解决方案来在我的应用程序中使用。当然也有Web /本地存储选项,但我正在尝试使用SQLite。我找到了sql.js,它很棒,而且很容易使用。我可以让一切正常运行,但我不能保存/更新数据库文件!代码如下:
var remote = require('remote'),
fileSystem = remote.require('fs'),
sql = remote.require('./nodeModules/sql.js'),
database = new sql.Database(fileSystem.readFileSync('./database.sqlite'));
database.run('CREATE TABLE IF NOT EXISTS products (ID integer primary key autoincrement, name text, price integer, stock integer)');
// Save the data back to the file
var data = database.export();
var buffer = new Buffer(data);
fileSystem.writeFileSync("./database.sqlite", buffer);但是我从“Buffer”得到了这个错误:Uncaught TypeError: must start with number, buffer, array or string。你以前遇到过这个问题吗?
发布于 2016-06-28 00:43:58
我无法在Windows 10和OS X 10.11.5上的node v6.2.2 (npm v3.9.4)上重现此问题。代码与您的代码几乎完全相同:
fs.writeFileSync("filename.sqlite", new Buffer(db.export()));有关更多信息,请查看此存储库:https://github.com/codewisdom/electron-sqljs
发布于 2017-06-02 00:26:42
我相信您必须读取数据库并将其写入通过调用返回的文件夹:
electron.app.getPath('userData')我创建了一个example project showing how to use sql.js in Electron。
https://stackoverflow.com/questions/32387021
复制相似问题