繁体   English   中英

如何使用Java将系统时间插入Ms Access?

[英]How Do I Insert system time Into Ms Access Using Java?

我刚刚使用Java(Netbeans)创建了一个简单的学生注册表。 它有几列可以输入学生的数据,例如regNo,姓名,地址等,还有一个Insert按钮,可以将数据插入到MS Access创建的表格中。它可以正常工作,但是我需要存储用户填写的时间该表格意味着用户填写该表格时,应该捕获系统时间并将其存储在表格中的每个条目(每个元组)中。 所以我想知道如何获取系统时间并将其插入MS Access数据库中,我找到了以下代码,但是我不知道如何将代码捕获的时间传递给数据库,我已经为在数据库中输入时间。

Calendar cal = Calendar.getInstance();
java.util.Date currentTime = cal.getTime();

这是我编写的将时间传递到表的代码.....

ps = con.prepareStatement("insert into RegInfo(RegNo,StudName,Address,"
               + "Telephone,Stream,RegDate,Time) values(?,?,?,?,?,?,?)");
ps.setLong(6,currentTime.getTime());

我使用了您的代码Razvan。 它工作得很好,但是没有将Time插入表中……(“ System.out.println”工作正常).....

 final String t1 = "hh:mm:ss";
 final DateFormat df = new SimpleDateFormat(t1);
 final String formattedTime = df.format(new java.util.Date());
 ps.setString(7, formattedTime);
 System.out.println("formattedTime "+formattedTime);

您可以在INSERT查询中简单地使用Now()函数:

try (Connection conn = DriverManager.getConnection(connStr)) {
    String sql;
    sql = "INSERT INTO RegInfo (RegNo, StudName, Address, Telephone, Stream, RegDateTime) " +
            "VALUES (?, ?, ?, ?, ?, Now())";
    try (PreparedStatement ps = conn.prepareStatement(sql)) {
        ps.setInt(1, 3);
        ps.setString(2, "Gord");
        ps.setString(3, "123 Main St");
        ps.setString(4, "416-555-1212");
        ps.setString(5, "Standard");
        ps.executeUpdate();
    }
} catch (Exception e) {
    e.printStackTrace(System.err);
}

这将对JDBC-ODBC(已过时,已从Java 8中删除)和UCanAccess此处提供更多信息)都适用。

请注意,Access中的Date / Time列始终同时具有Date和Time组件,因此您无需为RegDateTime维护单独的列。

通用形式可以是:

    final String DB_DATE_FORMAT = "MM/dd/YYYY"; //not sure about this, modify to fit your Access date format
    final SimpleDateFormat formatter = new SimpleDateFormat(DB_DATE_FORMAT);
    final String formattedDate = formatter.format(new Date());

您的时间不是插入语句的第一列,而是第6列,因此只需将ps参数更改为ps.setLong(6,currentTime.getTime());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM