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+"'"
在字符串變量前后又加了單引號

希望以后別再被掉這坑了。。。。。。很難受

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM