在electron中使用sqlite3,win10系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在electron中使用sqlite3,win10系统相关的知识,希望对你有一定的参考价值。

参考技术A 1>安装python(推荐2.7版本),切记将python加入系统环境变量

2>安装sqlite3,推荐使用npm安装,不要使用cnpm,cnpm安装的文件存在问题(npm install sqlite3 --save)

3>在package.json中加入"rebuild": "electron-rebuild -f -w sqlite3"

4>在命令行执行npm run rebuild,重新编译sqlite3,执行成功后就可以在electron中使用sqlite3

1>在根目录下生成db文件

const sqlite3 = require('sqlite3').verbose()

const db =new sqlite3.Database('info.db', function()

       db.run('create table test(name varchar(15))', function ()

            db.run('insert into test values("hello,world")', function ()

               db.all('select * from test', function(err, res)

                   if (!err)

                         console.log(JSON.stringify(res))

                  else

                         console.log(err)

                 

             )

        )

    )

)

2>在指定的文件夹里使用(data文件夹需手动创建)

const sqlite3 = require('sqlite3').verbose()

const path = require('path')

const db =new sqlite3.Database(path.join(__dirname, '../data/info.db'))

          db.run('create table test(name varchar(15))', function ()

                 db.run('insert into test values("hello,world")', function ()

                        db.all('select * from test', function(err, res)

                               if (!err)

                                       console.log(JSON.stringify(res))

                                 else

                                        console.log(err)

                                 

                        )

                )

         )

在electron中使用sqlite:sql.js简介

在electron中使用sqlite:sql.js简介

在开发electron应用的时候如果想要使用sqlite3,步骤上除了npm安装以外还要rebuild,比较麻烦。如果你想找一个开箱即用的sql库,那么sql.js将是个不错的选择。sql.js是sqlite的Webassembly版,使用上和sqlite基本没有区别。
sql.js支持浏览器端直接引入cdn,也支持npm导入。

不过如果用import语句导入的话要注意不推荐直接导入sql.js,这样导入的是sql-wasm.js文件,即WebAssembly版,引入这个文件的话会去请求sql-wasm.wasm(WebAssembly二进制文件)。如果没有请求到这个文件的话会报错。所以我们可以引入asm版的sql.js,就可以免去请求二进制文件这一步骤。

成功引入sql.js后需要先实例化数据库:
import * as InitSQL from ‘sql.js/dist/sql-asm‘

InitSQL().then((SQL: any) => 
  const dbExist = Utils.fileExist(dbFileName)
  const db = dbExist ?
  new SQL.Database(fs.readFileSync(dbFileName)) :
  new SQL.Database()

获得数据库实例后接下来就可以增删改查了。其他的都可以在官方github和documentation里找到。
https://github.com/kripken/sql.js
http://kripken.github.io/sql.js/documentation/#http://kripken.github.io/sql.js/documentation/class/Database.html

以上是关于在electron中使用sqlite3,win10系统的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular + Electron 应用程序中使用 sqlite3:关键依赖项:依赖项的请求是一个表达式

如何从 Electron AppImage .mount 点访问 Sqlite3 数据库?

electron引入Sqlite3重新编译的问题

无法将 sqlite3 编译为本机插件,Electron React Boilerplate 项目

windows下使用electron+sqlite3

electron (9.0.3)node (v12.17.0) 使用sqlite3 踩坑