在PreparedStatement中使用setDate
為了遵守編碼標準,您的任務是更新程式碼以利用準備好的語句並綁定變數而不是硬編碼SQL 變數。但是,您在 setDate() 方法方面遇到了問題。
要解決此問題,應遵循以下準則:
使用java.sql.Date
;
如果您的桌子有日期column:
-
java.lang.String:
使用java.sql.Date.valueOf(java.lang.String) 方法,在" 中提供一個字串yyyy-[m]m-[d]d" format.
-
java.util. Date:
如果您有java.util.Date 變數endDate,請使用ps.setDate(2, new java.sql.Date(endDate.getTime()));.
-
目前:
若要插入目前日期,請使用ps.setDate(2, new java.sql.日期(System.currentTimeMillis()));或ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now())); (Java 8 及更高版本)。
使用java.sql.Timestamp
對於TIMESTAMP 或DATETIME columns:
-
javalang. String:
使用java.sql.Timestamp.valueOf(java.lang.String) 方法以及「yyyy-」中的時間戳[m]m-[d]d hh:mm:ss[.f...]" format.
-
java.util.Date:
使用ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()) 轉換java.util.Date 變數);.
-
目前:
使用下列指令取得目前時間戳ps.setTimestamp( 2, new java.sql.Timestamp(System.currentTimeMillis()));或ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())); (Java 8 及更高版本)。
以上是如何在準備語句中正確使用 setDate() 和 setTimestamp() ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!