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

40次阅读
没有评论

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

我の解决方法就是:

1、不编译

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

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

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

//如需要打开1个数据库系统,你可以使用一下代码:
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:UsersAdministratorAppDataLocal你软件の名字User DataDefaultdatabases

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

2、使用electron吧

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

————-

facingscreen
版权声明:本站原创文章,由 facingscreen2022-08-12发表,共计1420字。
转载说明:本文为搜栈网原创文章,除特殊说明外皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码