编译nwjs/node-webkit可用的sqlite3简单靠谱的解决方案/在nwjs里使用sqlite

大胸弟,如果你和我一样把官方给的方法和网上的文章都试过了还是编译不过,但又必须在nwjs里使用sqlite数据库,那么请继续往下看。

我的解决方法就是:

1、不编译

来吧,拥抱html5吧,具体来说就是那个叫websql的东西, openDatabase() 方法来打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库,操作简单,神清气爽

/*Web SQL Database的API并不是HTM5规范的一部分而是自己拥有独立规范;
可以在新版的 Safari, Chrome 和 Opera 浏览器中工作(具体版本不详,nw0.32.3使用没毛病);
它提供了一套使用SQL操作客户端数据库的方法。
在介绍API之前,我们假设你基本熟悉SQL语句和用法。

openDatabase:该方法用于打开/创建数据库对象。
transaction:该方法赋予我们执行相关数据库语句或者回滚的能力。
executeSql:该方法用于执行数据库语句。*/

//如需要打开一个数据库,你可以使用一下代码:
var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024);
//方法中包含了4个参数,分别是数据库名称、版本号、数据库描述和数据库预估大小,如果不存在就创建,存在就连接

// Create table and insert one line
db.transaction(function (tx) {
  tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)');
  tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "synergies")');
  tx.executeSql('INSERT INTO foo (id, text) VALUES (2, "luyao")');
});
 
// Query out the data
db.transaction(function (tx) {
  tx.executeSql('SELECT * FROM foo', [], function (tx, results) {
    var len = results.rows.length, i;
    for (i = 0; i < len; i++) {
      alert(results.rows.item(i).text);
    }
  });
});

具体可以参考菜鸟和下面这篇文章:

HTML5 Web SQL 数据库 | 菜鸟教程

nw.js node-webkit系列(21)在应用中如何数据持久化_黄泽平的博客-CSDN博客_nwjs 数据库

顺便说下,nwjs里使用websql后数据保存的位置 (我此时nw的版本是0.32.3)

db文件的保存位置在:C:\Users\Administrator\AppData\Local\你软件的名字\User Data\Default\databases

在这个目录下有个database.db别高兴这个不是,这个库里存的是通过你软件创建的所有数据数据库的记录,通过记录的ID在这个目录里有一个唯一的子目录,里面就有这个库里列出来的所有的库,名字只有个id,不是xx.db但是把他们拖到sqlite studio里你就发现这tm就是个sqlite的db文件。

2、使用electron吧

通过npm的包可以直接使用sqllite,无需自己编译,这个就不多说了。

-------------

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

facing-screen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值