问题标签 [better-sqlite3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
23 浏览

database - SQL JOIN 返回的行数比表中的原始行数多

这可能是一个简单的问题。不幸的是,我无法理解这背后的逻辑。我在 SQL 中创建了 3 个表,即 testfall、testschritte、inhalt 和 case、test_step、kommentar 分别是列。

testschritte 中的 test_step 列有 2220 行,testfall 表中的 case 有 9 行。因此,结果计数应该在这些行附近,但我在 JOIN 之后的结果有 45327 行。这怎么可能?如果发生这种情况,数据不会不正确吗?

0 投票
0 回答
370 浏览

node.js - 尝试在 rpi4 上安装更好的 sqlite3 时收到错误消息

当我在运行 npm update 时发现包丢失时,我试图再次安装 better-sqlite3,这是错误消息 (RPI4b 4gb, Running Raspbian) 。我也使用了其他几个需要此作为依赖项的软件包。我正在使用 nodejs 15.10 的非官方版本,因为这就是我可以运行 discord.js 12 的方式

0 投票
1 回答
68 浏览

sqlite - 我可以在同一语句中多次使用 better-sqlite.get() 或 better-sqlite.all() 中的单个参数吗

我在节点中使用 better-sqlite 来访问 sqlite3 数据库。

有没有办法将单个参数传递给all()orget()并在语句中多次使用它。目前我正在这样做:

但我想做这样的事情:

0 投票
1 回答
279 浏览

node.js - 努力安装 better-sqlite3

我目前正在使用 webstorm 作为我选择的 IDE,并且正在尝试安装 better-sqlite3,但每次尝试安装时都会收到此错误消息:

更新:我已经完成了故障排除页面上的所有操作,这是我收到的错误消息:

我已经安装了 VSCode,似乎“缺少任何 VC++ 工具集”似乎是一个突破点

0 投票
0 回答
275 浏览

node.js - 如何在 Raspberry Pi 3 上为 Electron 构建 better-sqlite3?

我尝试在 Rasperry Pi 上的 Electron 应用程序中运行better-sqlite3 。我在运行时收到来自 TypeORM 的错误:

当我捕捉到由 引发的真正错误时require('better-sqlite3'),我得到:

为了构建更好的sqlite3 7.1.1,我使用了BitBake自动化工具。我创建了一个 BitBake 配方来为 Raspberry Pi 重建 better-sqlite3(之前对 node-sqlite3 工作相同):

在 RPi 上,我执行了一个file better-sqlite3/build/Release/better_sqlite3.node命令:

  • 更好的sqlite3:7.1.1
  • 节点:10.17.0
  • 节点gyp:5.0.3

有什么线索吗?

0 投票
1 回答
476 浏览

sqlite - sqlite3 +节点:何时关闭数据库?

我在 上使用better-sqlite3Node但我怀疑我的问题也适用于node-sqlite3

我基本上有 2 个简单的问题,与服务器呈现的网站有关:

  • 我需要显式调用.close()数据库吗?我似乎记得在某处读过它会在当前范围(如当前函数)退出时自动关闭。如果我从不调用.close()Web 服务器场景并接受大量请求怎么办?

  • 如果您有一堆不同的组件(身份验证、授权、本地化、支付等),并且每个组件可能需要也可能不需要在请求的整个生命周期内访问数据库(这些组件的生命周期非常短暂,除了付款),是不是更好

    1. 在服务器的生命周期内拥有一个 db 连接并将其传递
    2. 在请求的生命周期内拥有一个数据库连接并将其传递
    3. 每次我需要某些东西时打开一个新连接,每个请求可能 2-3 次(并在函数返回时显式或隐式关闭它,如果是这样的话)

谢谢

0 投票
1 回答
1914 浏览

node.js - 如何在 Sveltekit 中集成 sqlite3?

我一直在将 sqlite3 用于我的大多数全栈应用程序(前端的 node/express、django/drf + svelte 作为 api 端点的消费者),并且一直在尝试弄清楚如何集成 sqlite3。

这是我所做的

我假设您熟悉 sveltekit。对于那些新手,你可以去看看SvelteKit

  1. 我安装了better-sqlite3模块
  2. 在文件夹database.js内创建文件src/lib
  3. 添加了以下代码:
  1. 我使用以下代码创建了端点以从文件夹index.json.js内的数据库中获取所有文章:src/routes
  1. 我在 index.svelte(主页)中使用了该端点,如下所示:
  1. 然后按以下方式使用获取的文章:

而已。

0 投票
0 回答
79 浏览

node.js - 在打包的电子应用程序中读取文件/数据库

我正在尝试创建一个电子应用程序,也使用将在树莓派上运行的反应。基本上,该应用程序将是一个智能厨房应用程序,它具有某些内部应用程序(我称它们为扩展程序),例如购物清单。我只是第一次构建程序,这暴露了一些困难。我遇到的第一个问题是我正在尝试读取一个文件夹src/extensions/,以便找出正在使用哪些扩展并将它们添加到程序中。

构建应用程序后,我收到一条错误消息,提示“没有这样的文件或目录”。我想暂时解决这个问题,所以我手动添加了有效的目录列表,但后来在连接数据库时遇到了错误。

这给了我一个不同的错误,说“无法打开数据库文件”。我想知道我的问题是否是路径名。是否可以在打包的电子文件中读取这样的文件?当我开始这个项目时,我很担心这个,但我想试试看。理想情况下,我希望能够添加/删除扩展而无需重新构建应用程序。有没有办法我可以做到这一点?如果没有,我可以通过硬编码扩展来解决。更重要的是,我如何在打包的应用程序中连接到数据库?

此外,每当我尝试滚动时,我都会遇到令人讨厌的屏幕撕裂问题,这就是为什么我想尝试构建以查看是否可以解决此问题。它似乎不会发生在普通的铬中,而且我有一台规格足够好的计算机,这不应该发生。如果有人能指出我的方向,那就太好了。

0 投票
0 回答
233 浏览

javascript - electron-forge better-sqlite3 - TypeError:无法打开数据库,因为目录不存在

我有一个来自 electron- forge 的Typescript + Webpack样板。

我将我的数据存储在better-sqlite3. 并copy-webpack-plugin像这样复制数据库文件:

index.ts然后我在我的文件中获取我的数据库,如下所示:

在本地运行和运行时都可以正常工作npm run make。但是一旦我安装或卸载该应用程序,它就会出错:

图片:主进程中出现 Javascript 错误

虽然它会出现这样的错误,但它可以在我的桌面上安装该应用程序。它运行并从数据库中获取数据。谁知道为什么安装和卸载时出错?

0 投票
0 回答
131 浏览

better-sqlite3 - better-sqlite3 - 找不到绑定文件

我看到这是一个很常见的问题 - 我在使用 better-sqlite3 模块(Mac 上的版本 7.1.0,节点版本 v15.13.0)时遇到问题。我正在尝试运行 yarn install,但收到以下错误:

此外,当尝试运行使用该模块的 js 文件时,我收到错误消息:

我猜这两者有某种联系,但我无法解决这个问题,尝试更改/升级 better-sqlite3 版本,但没有运气。

非常感谢