如何阅读Excel日期并将其存储到我的数据库中?

时间:2017-06-03 19:18:30

标签: java excel date

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

以下代码就是我所拥有的:

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

切换案例是将Date存储在变量中,然后将其放入数组中。

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

我将多个这些值存储到一个arraylist中。

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

日期的getter和setter很明显,但我会发布以防万一。

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

public Date getBirthdate() {
    return birthdate;
}

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

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);

但不幸的是,这对我没有用。

1 个答案:

答案 0 :(得分:1)

Java中有两个Date类:java.util.Date(通用日期时间类)和java.sql.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());