Truncated incorrect DOUBLE value: 'd'的解决方法(jdbc)

今天写jdbc中dao的增删改查时遇到了一个问题,花费了好长时间,不过还好,有我峰哥出头,问题解决了,在这做个分享,对峰哥表达一下感激之情

 

 

 

 

 

网上搜索到的对“Truncated incorrect DOUBLE value”的解决方法主要是这两种:
      ①修改了多个列的值而各列之间用逗号连接而不要用and
             错误写法示例:

String sql = "update user set username=? and password=? where id=?";


             正确写法示例:

String sql = "update user set username=? , password=? where id=?";


②SQL语句在拼接字符串时使用函数CONCAT()而不要用“+”
但我只修改一列而且是直接传参的啊= =。一开始我尝试通过preparedstatement设置动态参数,即
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum=? and arrangeDate=?";
这次不报Truncated incorrect DOUBLE value了,改报语法错误了= =
于是把and替换成or,结果正确;把参数改成同格式的常量,结果也正确;去掉一个条件,结果还是正确;说明错误出在两个参数上

 

最后我的解决方法是把
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum=“+employeeNum+” and arrangeDate="+leaveDate;
改成了
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum='"+employeeNum+"' and arrangeDate='"+leaveDate+"'"
在字符串变量前后又加了单引号

希望以后别再被掉这坑了。。。。。。很难受

 

posted @   泰斗贤若如  阅读(25949)  评论(4编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示