如何读取Exceldate并将其存储到我的数据库?

我正在尝试读取Exceldate值并将其存储到我的数据库中。

下面的代码是我得到的:

Date birthdate = null; case 8: birthdate = cell.getDateCellValue(); break; 

开关的情况是将Date存储在一个variables中,然后把它放入一个数组中。

 Identity id = new Identity(BSN, sort, birthdate, place); 

我将这些值中的多个存储到一个数组列表中。

 for(Identity id : Identities) { System.out.println(id.toString()); idmc.insertID(""+id.getBSN(), id.getSort(), id.getBirthdate(), id.getPlace()); } 

date的getter和setter是显而易见的,但我会发布它以防万一。

 public void Birthdate (Date birthdate) { this.birthdate = birthdate; } public Date getBirthdate() { return birthdate; } 

然后插入我从数组中获得的值,我使用这个方法:

 public String insertID(String BSN, String SoortID, Date UitgiftedatumID, String UitgifteplaatsID) { String returning = null; try { query = "insert into Identiteit values(?,?,?,?);"; pst = connection.prepareStatement(query); pst.setInt(1, Integer.parseInt(BSN)); pst.setString(2, Sort); pst.setDate(3, birthdate); pst.setString(4, place); int response = pst.executeUpdate(); returning = response +" Records has/have been edited"; } catch (SQLException e) { returning = " "; } return returning; } 

但是,行: pst.setDate(3, UitgiftedatumID); 说: Incomatible types: java.util.Date cannot be converted to java.sql.Date.

我已经尝试铸造像: pst.setDate(3, (java.sql.Date) UitgiftedatumID);

但不幸的是,这并没有为我工作。

在Java java.util.Date有两个Date类: java.util.Date (一个通用的date时间类)和java.sql.Date (表示date(没有时间组件)的JDBC相关的类)。 PreparedStatement#setDate()方法接受后者作为其第二个参数。

要将java.util.Date的实例转换为java.sql.Date的实例,可以执行以下操作:

 java.util.Date UitgiftedatumID = ... // some value java.sql.Date sqlDate = UitgiftedatumID == null ? null : new java.sql.Date(UitgiftedatumID.getTime());