Java 将字符串格式的日期插入到字段类型为日期的数据库中
我有一个字符串格式的日期Java 将字符串格式的日期插入到字段类型为日期的数据库中,java,mysql,date,prepared-statement,Java,Mysql,Date,Prepared Statement,我有一个字符串格式的日期 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中的方法setD
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)
答复如下:
您正在尝试使用一个接受java.sql.Date
而不是java.util.Date
欢迎收看节目,请注意这里回答的细节:
您正在尝试使用一个接受java.sql.Date
而不是java.util.Date
欢迎使用编程,请注意在数据库中插入时需要使用
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);
在数据库中插入时,需要使用
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);
使用java.sql.Date
日期类型
假设您有一个类型为java.util.Date的变量endDate,则进行如下转换:
select1.setDate(1, new java.sql.Date(endDate.getTime());
使用java.sql.Date
日期类型
假设您有一个类型为java.util.Date的变量endDate,则进行如下转换:
select1.setDate(1, new java.sql.Date(endDate.getTime());
select1.setDate(1,new java.sql.Date(fd.getTime())代码>谢谢。。它起作用了:)select1.setDate(1,新的java.sql.Date(fd.getTime())代码>谢谢。。它起作用了:)当使用getTime()时,我会得到日期吗?你会在long
中得到时间,你用它来创建新的java.sql.date
。这是为了将表单java.util.Date
转换为java.sql.Date
@NicoVanBelle nice catch,我跳过了这一步:)使用getTime()时,我会得到日期吗?你会得到创建新java.sql.Date
所用的long
时间。这样做是为了将表单java.util.Date
转换为java.sql.Date
@NicoVanBelle nice catch,我跳过了这个:)