我的日期格式为字符串。
String from_date = "2016-09-09";
我需要使用PreparedStatement
插入具有日期类型字段的数据库。我是按照以下方式完成的。
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date fd = formatter.parse(from_date);
select1.setDate(1, fd);
但它显示错误为
PreparedStatement类型中的方法setDate(int.java.sql.Date)不适用于参数(int,java.util.Date)
答案 0 :(得分:4)
在数据库中插入时需要使用java.sql.Date
。请尝试以下方法:
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date fd = formatter.parse(from_date);
java.sql.Date sqlDate = new java.sql.Date(fd.getTime());
select1.setDate(1, sqlDate);
答案 1 :(得分:1)
在这里回答:Type mismatch: cannot convert from java.util.Date to java.sql.Date
您正在尝试使用接受java.sql.Date
而非java.util.Date
欢迎使用编程,请注意细节
答案 2 :(得分:1)
假设您有一个类型为java.util.Date的变量endDate,则可以进行转换:
select1.setDate(1, new java.sql.Date(endDate.getTime());