1. 程式人生 > >Truncated incorrect DOUBLE value: 'd'的解決方法(jdbc)

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

UNC arr 設置 分享圖片 一個 dst 時間 pan rect

今天寫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+"‘"


在字符串變量前後又加了單引號

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

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