mysq更新数据库错误:com.mysql.jdbc.MysqlDataTruncation

hugui12345678910 2010-10-10 12:46:37
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'è??è?±2'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3564)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2409)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2327)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2312)
at com.hugui.flower.dao.impl.FlowerDao4MySQL.modifyFlower(FlowerDao4MySQL.java:480)
at com.hugui.flower.manager.FlowerManagerImpl.modifyFlower(FlowerManagerImpl.java:88)
at com.hugui.flower.servlet.FlowerModifyServlet.doGet(FlowerModifyServlet.java:39)
at com.hugui.flower.servlet.FlowerModifyServlet.doPost(FlowerModifyServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)


数据库更新语句:
String sql = "update flower set name=? and descr=? and breed=? and price=? and lowerPrice=? and fileName=? and uses=? and person=? and festival=? and isIndex=? where id=?";
try {
conn = ConnectionManager.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "'"+flower.getName()+"'");
pstmt.setString(2, "'"+flower.getDescr()+"'");
pstmt.setString(3, "'"+flower.getBreed()+"'");
pstmt.setDouble(4, flower.getPrice());
pstmt.setDouble(5, flower.getLowerPrice());
pstmt.setString(6,"'"+ flower.getFileName());
pstmt.setString(7, "'"+flower.getUses()+"'");
pstmt.setString(8, "'"+flower.getPerson()+"'");
pstmt.setString(9, "'"+flower.getFestival()+"'");
pstmt.setInt(10, flower.getIsIndex());
pstmt.setInt(11, id);
pstmt.executeUpdate();

请问有谁知道吗?谢谢啦。。很急。。
...全文
2842 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liweiying3 2012-10-14
  • 打赏
  • 举报
回复
这个问题是 update中的 and 造成的 你改成逗号就好了
hugui12345678910 2010-10-10
  • 打赏
  • 举报
回复
返回的都是double类型
昵称很不好取 2010-10-10
  • 打赏
  • 举报
回复
flower.getLowerPrice()也需要检查下,如果是String类型,需要调用Double.parseDouble()来转换为double
昵称很不好取 2010-10-10
  • 打赏
  • 举报
回复
有异常了,flower.getPrice()返回的double是否是String类型的?

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧