使用 Java 和 UCanAccess 更新备注字段中的日期时间和字符串

Posted

技术标签:

【中文标题】使用 Java 和 UCanAccess 更新备注字段中的日期时间和字符串【英文标题】:Update datetime and a string in Memo field using Java and UCanAccess 【发布时间】:2015-05-28 00:35:54 【问题描述】:

我想使用 UCanAccess 更新备注字段中的日期时间和字符串。例如 - 2015 年 5 月 27 日系统:一些字符串,这是我必须在备忘录字段中更新的全部内容。

我已经尝试过 - 我正在使用以下代码将日期转换为字符串:

DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date today = Calendar.getInstance().getTime();              
String reportDate = df.format(today);

然后像这样使用 ucanaccess 的更新查询:

st.executeUpdate(" update tblCaseInventory set fldContactNotes = " + reportDate   + "' System : CAR Report '" +  "  where fldCaseNumber = " +  rs1.getInt("fldCaseNumber"));

但我收到一个错误:

意外令牌:系统。

如何做到这一点?

【问题讨论】:

【参考方案1】:

您应该使用PreparedStatement 来运行参数化查询,如下所示:

String sql = 
        "UPDATE tblCaseInventory " +
        "SET fldContactNotes=? " +
        "WHERE fldCaseNumber=? ";
try (PreparedStatement ps = conn.prepareStatement(sql)) 
    DateFormat df = new SimpleDateFormat("yyyyMMdd");                                                   
    java.util.Date today = Calendar.getInstance().getTime();              
    String reportDate = df.format(today);
    ps.setString(1, reportDate + " System : CAR Report");
    ps.setInt(2, rs1.getInt("fldCaseNumber"));
    ps.executeUpdate();

【讨论】:

非常感谢戈德·汤普森。这是完美的工作。但是你能建议我一些链接以供将来在哪里可以找到像这样的 ucanaccess 语法。我在 ucanaccess 上找不到太多文档。 这是JDBC的标准程序;它不是特定于 UCanAccess。查看教程here。

以上是关于使用 Java 和 UCanAccess 更新备注字段中的日期时间和字符串的主要内容,如果未能解决你的问题,请参考以下文章

ucanaccess 驱动程序是不是处理多个并发 Java 应用程序?

java.lang.ClassNotFoundException:net.ucanaccess.jdbc.ucanaccessDriver

UCanAccess 和 JPA 上下文中的 java.lang.***Error

使用 UCanAccess 保存数据时 Java 应用程序挂起

使用 Java Ucanaccess 在 ms-Access 中恢复数据和存储的查询

不使用 UCanAccess 从 Java 8 连接到 Access 数据库