如何从 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.runmoneyDB.getmoneyDB.allmoneyDB.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 数据库中?

如何从android中的sqlite中检索数据

如何从sqlite中的计算列和表中的列计算天数

如何根据日期列中的月份从 SQLite 中获取数据

是否可以从 JavaScript 访问 SQLite 数据库?

如何从 SQLite 中的表中选择最新的 100 个不同条目?