Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 连接到数据库时无法读取null错误的属性“run”_Node.js_Sqlite_Bots_Discord.js - Fatal编程技术网

Node.js 连接到数据库时无法读取null错误的属性“run”

Node.js 连接到数据库时无法读取null错误的属性“run”,node.js,sqlite,bots,discord.js,Node.js,Sqlite,Bots,Discord.js,我正在做一个带有硬币系统的机器人,当您尝试将其连接到数据库时,会出现以下错误: 节点:17008未处理PromisejectionWarning:TypeError:无法读取null的属性“run” 在Promise C:\Users\crmk_бб\Desktop\JyxoBot\Jyxo\node\u modules\sqlite\main.js:219:19 在新的承诺下 在Database.run C:\Users\crmk_ббб\Desktop\JyxoBot\Jyxo\node\u

我正在做一个带有硬币系统的机器人,当您尝试将其连接到数据库时,会出现以下错误:

节点:17008未处理PromisejectionWarning:TypeError:无法读取null的属性“run” 在Promise C:\Users\crmk_бб\Desktop\JyxoBot\Jyxo\node\u modules\sqlite\main.js:219:19 在新的承诺下 在Database.run C:\Users\crmk_ббб\Desktop\JyxoBot\Jyxo\node\u modules\sqlite\main.js:218:12 在sql.get.then.catch C:\Users\crmk_ааа\Desktop\JyxoBot\Jyxo\index.js:67:7 在 在运行MicroTaskScallback internal/process/next_tick.js:121:5时 在_combinedtickcallbackinternal/process/next_tick.js:131:7 在进程中。_tickCallback internal/process/next_tick.js:180:9 在Function.Module.runMain Module.js:695:11 启动时引导_node.js:191:16 节点:17008未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于抛出不带catch块的异步函数内部,或者拒绝未使用.catch处理的承诺。拒绝id:3 节点:17008[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。 代码:

sql.get`SELECT*FROM coins,其中userId=[message.author.id]`.thenrow=>{ if!行{//找不到该行。 sql.runINSERT-INTO-coins用户标识,coins值?,?,[message.author.id,0]; }否则{//将无法找到该行。 让curAmt=Math.floorMath.random*5+0.3 row.coins+curAmt; 如果curAmt>row.coins{ row.coins=curAmt; 运行`updatecoins SET coins=${row.coins+curAmt},其中userId=[message.author.id]`; } 运行`updatecoins SET coins=${row.coins+curAmt},其中userId=[message.author.id]`; } }.catch=>{ console.error;//记录这些错误。 sql.runCREATE表如果不存在coins用户ID文本,则为coins整数。然后=>{ sql.runINSERT到分数userId,coins值?,?,[message.author.id,0]; }; };
但是机器人在运行,我不明白是什么错误,我觉得一切都正常。

您需要先打开数据库

const sql = require("sqlite")
const db = sql.open('./coin.sqlite', { Promise });
然后可以使用db.run/get


来源:

你能发布你的sqlite初始化代码吗?const sql=requiresqlite;sql.open./coin.sqlite;TypeError:db.get不是函数