如何读取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());