尝试获取SQLite值时,discord.js bot返回为未定义

尝试获取SQLite值时,discord.js bot返回为未定义,discord.js,better-sqlite3,Discord.js,Better Sqlite3,每当我运行该命令时,我都会得到您有未定义的,而不是在SQLite数据库中输入的数字 if (command === "bal") { if (message.author.bot) return; const data = sql.prepare(`SELECT ${args} FROM ${'acc' + message.guild.id + message.member.id}`).get(); message.channel.send(

每当我运行该命令时,我都会得到
您有未定义的
,而不是在SQLite数据库中输入的数字

if (command === "bal") {

        if (message.author.bot) return;

        const data = sql.prepare(`SELECT ${args} FROM ${'acc' + message.guild.id + message.member.id}`).get();

        message.channel.send(`You have ${data.args}`)
    }
尝试添加
.catch()
块来处理错误并在选择请求之前等待。 像这样:

if(命令==“bal”){
if(message.author.bot)返回;
const data=wait sql.prepare(`SELECT${args}来自${'acc'+message.guild.id+message.member.id}`)。get().catch((err)=>{
控制台日志(err);
});
message.channel.send(`youhave${data.args}`)
}
看起来您正在尝试从名为的表中选择
${'acc'+
message.guild.id+message.member.id}
,表不存在

rigth语法类似于:


从这里的表名中选择列名,其中FIELD=somethink

现在我得到了
(节点:50347)未处理的PromisejectionWarning:RangeError:提供的参数值太少
。之前忘了提到,有一个常量是
const args=message.content.slice(config.prefix.length).trim().split(+/+/g)请详细说明您要执行的操作。选择什么数据?从哪张桌子?什么价值?目前,如果不理解这些介绍性说明,很难为您提供任何帮助。还要告诉我具体值是什么​​在
args
中,基本上,这是经济系统的一部分。我想做的是让用户使用“acc+公会ID+会员ID”创建一个帐户。基本上,当他们运行创建帐户的命令时,它会生成一个名为acc1252325235475923的表或其他什么。在这里,我试图捕获以前使用
ta create
创建的列中的数据,而
args
是用户输入的名称。例如,假设有人创建了一个名为Jeff的数据库,
ta bal Jeff
需要检索所述列中的内容(从前面继续)。该列来自表
acc+guild id+member id
,包含由用户自己创建的列。机器人应该从表
acc(Guidid)(memberid)
中获取列
Jeff
中的数据。该表是先前使用
ta create
创建的,该列是通过另一个命令
ta addname(args)