2017-08-02 24 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}); 
    } 
相關問題