编译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);
}
});
});
具体可以参考菜鸟和下面这篇文章:
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,无需自己编译,这个就不多说了。
-------------
编译nwjs/node-webkit可用的sqlite3简单靠谱的解决方案/在nwjs里使用sqlite的更多相关文章
- sqlite3简单教程整理
一.Ubuntu下安装sqlite3 1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库. 2.安装: 要安装sqlite3,可以在终端提示符后运行下列命令: sud ...
- Centos6.4编译安装Node.js(已验证)
1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...
- 实现node端渲染图表的简单方案
实现node端渲染图表的简单方案 这个题目有点小,本篇博客真正谈论的应该是服务端生成图表的简单方案,这里面有两个关键字:服务端 & 简单,我们知道基于js有很多的图表库,知名的如D3.echa ...
- Node.js 环境搭建及简单应用
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型.如果你想创建自己的服务,那么Node.js是一个非 ...
- python sqlite3简单操作
python sqlite3简单操作(原创)import sqlite3class CsqliteTable: def __init__(self): pass def linkSqlite3(sel ...
- 用 Node.js 实现的最简单的 HTTP 服务器
用 Node.js 实现的最简单的 HTTP 服务器 //app.js var http = require('http'); http.createServer(function(req, res) ...
- 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里
原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...
随机推荐
- Linux/Centos文件授权用户文件夹权限介绍
一.Linux文件权限介绍 在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read).可写(write).可执行(excute)权限.目录的执行操作表示是否有权限进入该目录并操 ...
- Linux 之 vi / vim
vi / vim Vim 是从 vi 发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了 ...
- NOIp 2024 游记
要是 T3 T4 挂分就寄了. Day-11 运动会上 vp 了 NOIp2023 和 NOIp2022,NOIp2023 被 T2 硬控了一会,最后口胡的做法感觉可以拿 \(100+100+35+1 ...
- Dev Express WPF GridControl 数据导出到Excel
Dev Express WPF 给控件提供了公共的导出方法: Export to PDF Export to HTML Export to MHT Export to Text Export to C ...
- SQL取系统时间的前一个月的月份和年份
SQL SERVER 提供了一些时间函数:取当前时间:select getdate()取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月取年份:SEL ...
- 【小技巧】如何使上线前初始化数据的SQL脚本可测试?
背景 有时候,我们在上线某些特性时,可能需要提前初始化数据,才能使功能正常运作. 初始化数据,常用的有以下两种途径: 单纯为了这个初始化数据,开发一个Excel文件导入功能 开发人员维护SQL语句初始 ...
- DeepSeek满血版测试
技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ...
- git安装教程以及生成git ssh key
问题 GitHub拉取代码需要SSH,总是忘记命令,现网百度.记录下来,以后靠自己的博文 第一步 安装git 地址: https://git-scm.com/download/win 安装它 第二步 ...
- Socket通信-Linux系统中C语言实现TCP/UDP图片和文件传输
TCP实现 传输控制协议(TCP,Transmission Control Protocol) 是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议.TCP是因特网中的传输层协议, ...
- MSBuild属性
MSBuild 属性 MSBuild属性是键值对的集合,提前声明好这些属性之后,整个项目的生成都可以引用这些属性. 属性名不区分大小写. 属性都是写在 PropertyGroup 标签中. 1.声明属 ...