0 java sql date prepared-statement
任何时候我必须处理java中的日期/时间,这让我很难过
我正在尝试解析一个字符串并将其转换为日期对象以插入preparepared语句中.我一直试图让这个工作,但我没有运气.当我去编译类时,我也收到了有用的错误消息.
"线程中的异常"主"java.lang.Error:未解决的编译问题:PreparedStatement类型中的方法setDate(int,Date)不适用于参数(int,Date)"
呃WTF?
这是违规代码.
for(int i = 0; i < flights.size(); i++){
String[] details = flight[i].toString().split(":");
DateFormat formatter ;
formatter = new SimpleDateFormat("ddMMyyyy");
Date date = formatter.parse(details[1]);
PreparedStatement pstmt = conn.prepareStatement(insertsql);
pstmt.setString(1, details[0]);
pstmt.setDate(2, date);
pstmt.setString(3, details[2] + "00");
pstmt.setString(4, details[3]);
pstmt.setString(5, details[4]);
pstmt.setString(6, details[5]);
pstmt.setString(7, details[6]);
pstmt.setString(8, details[7]);
pstmt.setString(9, details[8]);
pstmt.executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)
PreparedStatement.setDate采用java.sql.Date,而不是java.util.Date.
(出于兴趣,你怎么不实际看到这是一个编译时错误?如果你能解决编译失败而不必在测试运行中达到这一点,你的生活会变得容易多了......)