Articles of sqlite3

如何让SQLite与Angular 4+,Electron和NodeJS一起工作

我试图build立一个小桌面应用程序使用: angular4+ 的NodeJS 电子 sqlite3的 NodeJS将用于扫描本地用户hdd并将特定文件插入到SQLite3数据库中。 我查了几十个文档和build议。 他们大多build议使用NodeJS express框架,并在Angular 4+ – > Express – > SQLite3之间build立一个层。 我想避免使用快速框架,因为它将是桌面应用程序,根本不需要。 我尝试了什么,我做了什么: 我安装了: "sqlite3": "^3.1.9", "node-pre-gyp": "^0.6.36", 作为我的项目中的依赖项。 比我读过,如果你想使用本地nodejs库你应该运行电子重build。 所以我也安装了电子重build: "electron-rebuild": "^1.6.0" 作为devDependencies并使用以下命令运行它: ./node_modules/.bin/electron-rebuild 重buildsqlite3成功完成。 比我运行电子应用程序,我得到以下错误: /~/node-pre-gyp/lib/node-pre-gyp.js Module build failed: Error: ENOENT: no such file or directory, open '/home/haris/development/walter/angular-electron-starter/node_modules/node-pre-gyp/lib/node-pre-gyp.js' at Error (native) @ ./~/sqlite3/lib/sqlite3.js 1:13-36 @ ./src/app/home/home.component.ts @ ./src/app/home/index.ts […]

从sqllite3获取BIGINT值

我使用这个模块https://www.npmjs.org/package/sqlite3与sqlite3工作。 我需要从数据库保存/加载大整数,但我不能,因为数量保存结果不同。 我的代码: var sql = require('sqlite3'); var db = new sql.Database(':memory:'); db.serialize(function() { db.run("CREATE TABLE lorem (info BIGINT)"); var stmt = db.prepare("INSERT INTO lorem VALUES ($value)"); stmt.bind({ $value : "1000000000012312312" }); stmt.run(function (err) { if (err) { console.log(err); } else { db.all("SELECT info FROM lorem", function (err, r) { if (err) { console.log(err); } […]

sqlite3callback(node.js)

我试图将我网站上input的电子邮件与数据库中的电子邮件进行比较,看看它是否已经存在。 如果是,则该函数返回false,并显示一个错误。 var db = new sqlite3.Database('users_db.db'); db.get( "SELECT * FROM users WHERE useremail = ?", [email], function (err, rows) { if (rows == undefined ){ global.returnvalue2 = false; } } ); 我想要的是在select后立即运行该函数,以便返回值为false,并且不创build用户logging。 现在我意识到这个callback在所有事情之后都会被调用,所以它只是在整个程序的其余部分进行select和继续,直到结束。 我怎样才能检查是否有任何相同的电子邮件logging?

在NodeJS中访问SQLite3数据库

我正在NodeJS中使用SQLite3创build一个数据库。 我已经成功地使用表格创build数据库并插入数据。 如果我在同一个文件中,我做了一个select从我的表中logging数据,它的工作原理。 我的问题是我怎样才能从另一个js文件的数据库上运行一个查询? 我试过使用模块的方式,但没有运气。 比方说,创build数据库的m文件被调用 db.js var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('./database.db'); db.serialize(function() { db.run("CREATE TABLE if not exists parameters (path TEXT)"); var stmt = db.prepare("INSERT INTO parameters VALUES (?)"); stmt.run("test paramter"); stmt.finalize(); db.each("SELECT path FROM parameters", function(err, row) { console.log(row.path); }); }); db.close(); 然后我有一个文件叫 update.js 我怎么能运行一个查询 db.each("SELECT path FROM parameters", […]

电子重build构buildnode-sqlite3的错误版本

我正在尝试在Windows 10开发机器上启动并运行Electron应用程序。 我运行npm install ,它会安装所有的依赖包括sqlite3 , electron-prebuilt和electron-rebuild 。 然后运行electron-rebuild -w sqlite3 -p创buildnode-sqlite3绑定,并成功创buildelectron-v1.4-win32-x64绑定。 然而,当我运行电子应用程序,它会抛出一个错误,因为它是期待electron-v1.2-win32-x64 。 我如何强制1.2的版本,而不是1.4的绑定? 另外,如何让我的电子应用程序使用v1.4?

在Node / Express中重新加载 – “没有这样的表:main.User”错误

我试图用Sequelize构build一个简单的Node / Express应用程序,但是当我尝试在关系数据库中创build新logging时,出现错误Unhandled rejection SequelizeDatabaseError: SQLITE_ERROR: no such table: main.User 。 基本上,我在Users表中创build一个用户,然后尝试在Addresses表中创build一个相关的Addresses – 用户成功创build,但它创build地址时出现此错误…在哪里得到main前缀从表名? (完整的错误读数在下面)… 首先,这里是我的节目的简介… 我的Sequelize版本是Sequelize [Node: 6.8.1, CLI: 2.4.0, ORM: 3.29.0] ,我使用Sequelize CLI命令sequelize init来设置我的项目的这一部分。 我正在使用SQLite3进行本地开发,并在config/config.json我有开发数据库定义为 "development": { "storage": "dev.sqlite", "dialect": "sqlite" } 我的用户迁移: 'use strict'; module.exports = { up: function(queryInterface, Sequelize) { return queryInterface.createTable('Users', { id: { allowNull: false, autoIncrement: true, primaryKey: true, […]

SQLITE TABLE创build错误

我正在学习一个示例来学习node.js / sqlite3,如下所示: https : //github.com/mapbox/node-sqlite3/blob/master/examples/simple-chaining.js 在这个例子中,表只有列,我想扩展它,所以表有三列 – 用户名,密码和login计数。 所以我改变了原来的代码,在这里: function createTable() { console.log("createTable lorem"); db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT)", insertRows); } 对此: function createTable() { console.log("createTable lorem"); db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT, name TEXT)", insertRows); } 但是当试图用值填充时,我得到一个错误: ~:dev$ node chaining.js createDb chain createTable lorem insertRows Ipsum i events.js:72 […]

Node.js和sqlite3 npm模块:分别获取数据库#中的所有行

我使用node.js版本0.10.24和名为sqlite3版本2.1.19的npm模块。 我使用terminal窗口在OS X 10.9.1盒子上testing我的脚本。 以下脚本: var sqlite3 = require('sqlite3').verbose() var async = require('async') var myList = [] var db = new sqlite3.Database('./test0.db') async.series([ // Create a table and populate it function (callback) { db.run("CREATE TABLE lorem (listnumb bigint, info TEXT)", function (err) { if (err) return callback(err) console.log('Table created. ') callback() }); }, function (callback) […]

如何在sqlite3中使用sequelize做基于“date”列的查询?

我正在使用sqlite3的Sequelize,但无法查询基于“date”types的数据列。 这是我的模型定义: var sensorData = sequelize.define('Data', { time: Sequelize.DATE, value: Sequelize.FLOAT, type: Sequelize.STRING, source: Sequelize.STRING }, { timestamps : false }); 现在我想在这个函数中用'time'比给定的时间得到所有的logging: function selectData(start_date, num_of_records, callback) { sensorData.findAll({ limit: num_of_records, where: [time, '???'], <====== How to specify the condition here? order: 'time'}).success(callback); } 我无法在Sequelize的网站上find关于基于“date”types的查询语句的任何内容。 任何想法?

Nodejs node-sqlite3运行callback不起作用

我正在尝试使用nodejs和node-sqlite3包在sqlite数据库中删除一行。 当我运行删除命令,并手动检查条目,我可以看到查询成功删除该行,但我似乎无法编写确认这一点的代码。 这是查询 db.run("DELETE FROM Table1 WHERE id=? AND username=?", [id, user], function(error) { console.log(error); }); 无论是错误还是正确的input,它都会向控制台输出null 。 如果给出了正确的细节,则删除它并打印出null,如果给出了错误的id和用户,它仍然打印出null。 任何想法可能是错的? 谢谢