如何从 Javascript 中的 SQLite 数据库中获取表数据?
Posted
技术标签:
【中文标题】如何从 Javascript 中的 SQLite 数据库中获取表数据?【英文标题】:How do i get table data from SQLite Database in Javascript? 【发布时间】:2020-11-01 01:55:21 【问题描述】:我正在使用 discord bot 开发货币系统,我需要将数据存储在 sqlite 数据库中,但我似乎无法读取数据,只能写入。
代码:
const sqlite3 = require("sqlite3");
const moneyDB = new sqlite3.Database("./databases/money.db");
...
if(cmd == "money")
const person = msg.mentions.users.first()
if(!person) return;
var info = moneyDB.exec(`SELECT * FROM money WHERE userID = "$person.id"`);
console.log(info);
;
我也尝试过使用这些:moneyDB.run
moneyDB.get
moneyDB.all
moneyDB.each
他们都输出:
Database open: true, filename: './databases/money.db', mode: 65542
为什么这是输出而不是实际的数据库数据? 有没有更有效的方法来做到这一点? 我已经为在数据库中添加和更新数据创建了不同的命令,但似乎无法读取任何内容。
【问题讨论】:
【参考方案1】:sqlite3 模块的这些函数返回用于链接的数据库。
您需要将函数作为第二个参数传递给 db.all
const sqlite3 = require("sqlite3");
const moneyDB = new sqlite3.Database("./databases/money.db");
...
if (cmd == "money")
const person = msg.mentions.users.first()
if(!person) return;
moneyDB.all(`SELECT * FROM money WHERE userID = "$person.id"`, (err, info) =>
console.log(err, info)
);
;
【讨论】:
以上是关于如何从 Javascript 中的 SQLite 数据库中获取表数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 google gear 从 javascript 将 blob 数据存储在 sqlite 数据库中?