2017-08-02 26 views
0

我在我的javascript代码使用SQLite数据库属性“EXP”不管我怎么努力,它始终保持这个错误在那里:类型错误:无法读取的不确定

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
      if (!row) sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]); 
      var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
      msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
     }) 

如果你没有underatand它有些像'msg.reply'这是因为这些是我的不和谐机器人的命令。

回答

3

它看起来像你的对象行是未定义的。

总结所有的代码的其他大括号内:

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
     if (!row) 
     sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]); 
     else { 
     var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
     msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
    } 
}) 
0

在你的代码插入行,如果它不存在,但总是在它的工作。 如果它没有定义,那么你应该插入它,然后再次获取行,现在工作。

试试这个,

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
    if(row) { 
      reply(row, member); 
    } else { 
    sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]).then(row => { 
      reply(row, member); 
    }) 
    } 
    }) 

    const reply = (row, member) => { 
       var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
      msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
    } 
相关问题