【问题标题】:Sqlite COUNT returns `[object Statement]`Sqlite COUNT 返回`[object Statement]`
【发布时间】:2020-07-30 08:56:49
【问题描述】:

我有let usersin1 = sql.prepare("SELECT COUNT(*) FROM raid WHERE raid1 > 0");

使用 better-sqlite3,我从中得到的是 [object Statement]。我不明白为什么当我尝试获取 usersin1 的值时会得到它。所有值都已定义,我试图从中得到一个数字。

Node.js

【问题讨论】:

标签: javascript node.js sqlite better-sqlite3


【解决方案1】:

sql.prepare() 返回一个Statement 对象。需要执行语句才能得到结果。

let stmt = sql.prepare("SELECT COUNT(*) count FROM raid WHERE raid1 > 0");
let row = stmt.get();
let usersin1 = row.count;

【讨论】:

  • 如果是这样,那为什么let usersin2 = sql.prepare("SELECT COUNT(*) FROM raid WHERE raid2 > 0").get().count; 之类的东西不做同样的事情
  • 是的,你可以这样做。只是没有解释所有步骤。
【解决方案2】:

你可以这样做:let usersin1 = sql.prepare("SELECT COUNT(*) FROM raid WHERE raid1 > 0").get().count;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-28
    • 2015-05-15
    • 2015-02-27
    • 2013-04-27
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多