简体   繁体   English

com.mysql.jdbc.MysqlDataTruncation:数据截断:截断了不正确的DOUBLE值:',3'

[英]com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: ',3'

I'm trying to write a shop plugin for my Minecraft server, but I keep getting an error whenever anyone does the /purchase command. 我正在尝试为我的Minecraft服务器编写商店插件,但是只要有人执行/ purchase命令,我都会不断收到错误消息。

Here's the error: 这是错误:

2012-07-03 04:27:28 [SEVERE]    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: ',3'
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662)
2012-07-03 04:27:28 [SEVERE]    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)
2012-07-03 04:27:28 [SEVERE]    at com.Chipmunk9998.Cod.CodCommandExecutor.onCommand(CodCommandExecutor.java:1421)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479)
2012-07-03 04:27:28 [SEVERE]    at com.Chipmunk9998.Cod.CodCommandExecutor.onCommand(CodCommandExecutor.java:1443)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
2012-07-03 04:27:28 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
2012-07-03 04:27:28 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)

And here's my code: 这是我的代码:

if (cmdsender == null) {
  File weaponFile = new File(plugin.getDataFolder(), "weapons.yml");
  FileConfiguration weaponData = YamlConfiguration.loadConfiguration(weaponFile);

  String sql = "UPDATE account_info SET Money = Money - "
    + weaponData.getString(args[0] + "." + args[1] + ".Price")
    + " WHERE Username = '" + args[2] + "'";

  try {
    plugin.st.executeUpdate(sql);
  } catch (SQLException e) {
    e.printStackTrace();
  }

  sql = "UPDATE account_info SET Bought_" + args[0] + " = Bought_" + args[0]
    + " + ," + args[1] + " WHERE Username = '" + args[2] + "'";

  try {
    plugin.st.executeUpdate(sql);
  } catch (SQLException e) {
    e.printStackTrace();
  }

  plugin.getServer().getPlayer(args[2]).sendMessage(
    "You have successfully bought the "
    + weaponData.getString(args[0] + "." + args[1] + ".Name") + "."
  );

  return true;
}

I tried googling it, but couldn't find anything that helped. 我尝试使用Google搜索,但找不到任何帮助。

It looks like you have an error in this line: 您似乎在此行中有一个错误:

  sql = "UPDATE account_info SET Bought_" + args[0] + " = Bought_" + args[0]
    + " + ," + args[1] + " WHERE Username = '" + args[2] + "'";

There is an erroneous comma in this string before args[1] . args[1]之前的此字符串中有一个错误的逗号。 If args[0] , args[1] and args[2] contain 1 , 3 and foo respectively, then sql will evaluate to: 如果args[0] args[1]args[2]含有13foo分别接sql将评估为:

UPDATE account_info SET Bought_1 = Bought_1 + ,3 WHERE Username = 'foo'

Which is clearly a syntax error and explains your error message Data truncation: Truncated incorrect DOUBLE value: ',3' . 显然这是语法错误,并说明您的错误消息Data truncation: Truncated incorrect DOUBLE value: ',3'

I was coding in JSP for updating database records using UPDATE query. 我在JSP中编写代码,以使用UPDATE查询更新数据库记录。 "UPDATE customer_details set Customer_fname=?,Customer_lname=?,Customer_home_address=?,Customer_office_address=?,Customer_mobile_no=?,Customer_city=?,Customer_state=?,Customer_dob=? where User_id=? “ UPDATE customer_details设置Customer_fname = ?、 Customer_lname = ?、 Customer_home_address = ?、 Customer_office_address = ?、 Customer_mobile_no = ?、 Customer_city = ?、 Customer_state = ?、 Customer_dob = ?,其中User_id =?

in last User_id's parameter...., I accidentally write ps.setString(9,uname) which was different variable with different datatype....which give me an error of data truncation:incorrect doublevalue . 在最后一个User_id的参数...中,我不小心写了ps.setString(9,uname) ,它是具有不同数据类型的不同变量。...这给了我数据截断错误:doublevalue不正确

i corrected it with ps.setInt(9,uid) which was correct variable and datatype then error was gone....!! 我用ps.setInt(9,uid)纠正了它,它是正确的变量和数据类型,然后错误消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 com.mysql.jdbc.MysqlDataTruncation:数据截断:截断了不正确的DOUBLE值:'q' - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'q' 错误:com.mysql.jdbc.MysqlDataTruncation:数据截断:截断了不正确的DOUBLE值:通过删除 - Error:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: by Delete com.mysql.jdbc.MysqlDataTruncation:数据截断:日期值不正确 - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value com.mysql.jdbc.MysqlDataTruncation:数据截断:不正确的日期时间值:'' - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: ' ' 为什么会出现“ com.mysql.jdbc.MysqlDataTruncation:数据截断:不正确的datetime值:”错误? - Why do I get a “com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:” error? com.mysql.jdbc.MysqlDataTruncation:数据截断:错误的日期时间值:第1行的'lastchange'列的'0000-00-00 00:00:00' - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column 'lastchange' at row 1 “ com.mysql.jdbc.MysqlDataTruncation:数据截断:超出范围值”,按位“或” - “com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value” with bitwise 'OR' com.mysql.jdbc.MysqlDataTruncation:数据截断:错误的日期时间值:第1行“ INVOICE_DATE”列的“ Mon Feb 11 00:00:00 IST 2013” - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: 'Mon Feb 11 00:00:00 IST 2013' for column 'INVOICE_DATE' at row 1 com.mysql.jdbc.MysqlDataTruncation:数据截断:第1行的列'DATE'的数据太长 - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'DATE' at row 1 com.mysql.jdbc.MysqlDataTruncation:数据截断:数据太长以至于列“名称” - com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM