我有以下代码片段,我将java.util.date强制转换为java.sql.date时会出现连续错误。
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
storedProcedureCall.setLong(1, 12345);
storedProcedureCall.setDate(2, (java.sql.Date) sdf.parse("09/02/2017"));
storedProcedureCall.setDate(3, (java.sql.Date) sdf.parse("10/02/2017"));
我在这里做错了什么。我也导入了java.util.Date包。
答案 0 :(得分:1)
班级java.util.Date
与java.sql.Date
完全不同。因此无法施展。
您可能打算使用java.util.Date
。检查您的storedProcedureCall#setDate
签名,它可能会意外导入java.sql.Date
而不是java.util.Date
。
请注意,现在不再使用Date
类了。而是使用位于包java.time
内的新现代API。像这样:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDateTime dateTime = LocalDateTime.parse(dateAsString, formatter);