在电子应用程序中使用sql.js
Using sql.js in an Electron application
我是新来的电子。这真是太棒了,入门非常有趣,也很容易。一段时间以来,我一直在试图找到一个"数据库"解决方案,在我的应用程序中使用。当然有Web SQL/本地存储选项,但我试图使用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);
但是我从"缓冲区"得到这个错误:Uncaught TypeError: must start with number, buffer, array or string
。你以前遇到过这个问题吗?
我无法在Windows 10和OS X 10.11.5上的节点v6.2.2 (npm v3.9.4)上重现此问题。代码与您的代码几乎相同:
fs.writeFileSync("filename.sqlite", new Buffer(db.export()));
查看这个repo获取更多信息:https://github.com/codewisdom/electron-sqljs
我相信您必须通过调用
返回的文件夹读取和写入数据库:electron.app.getPath('userData')
我创建了一个示例项目,展示如何在Electron中使用sql.js。相关文章:
- 如何使用angular js从2个表(在sql server中)中提取数据
- 类似sql的js库来操作数组
- 在 sql 中求和 col,在 js 中查看结果
- 使用 SQL .js在 JavaScript 中加载 SQLite 数据库
- SQL应该查询's ORDER BY列写入JS代码中
- 通过.js将值传递到php,然后在SQL语句中使用
- sql到传单js动画标记
- 使用JS的SQL请求过程
- 在Sql Server上使用pivottable.js和PHP查询
- 使用 sql.js 从磁盘读取 SQLite 数据库
- "handleError不是函数“;运行sql.js时出错
- Typescript和sql.js-如何告诉Typescript它'在那里
- 使用javascript, angular.js和sql.js,我如何从url获取文件对象
- 在电子应用程序中使用sql.js
- 使用sql.js在HTML页面中显示SQLite .db
- Javascript - sql.js选择下拉菜单
- 使用TypeScript创建新的sql.js数据库
- 用sql.js读取blob类型的sqlite3数据库列时遇到麻烦
- SQL.js in javascript
- 如何创建一个someFileName.sqlite数据库使用sql.js没有NodeJs和Coffeescript,但只