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

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

我的解决方法就是:

1、不编译

来吧,拥抱html5吧,具体来说就是那个叫websql的东西,操作简单,神清气爽

/*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);
    }
  });
});

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

http://www.runoob.com/html/html5-web-sql.html

https://blog.csdn.net/zeping891103/article/details/51085213

顺便说下,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,无需自己编译,这个就不多说了。

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

你可能感兴趣的:(JavaScript,nodejs,数据库和服务器)