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

Update datetime and a string in Memo field using Java and UCanAccess

我想使用 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"));

但我收到一个错误:

Unexpected token : System.

如何实现?

您应该使用 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();
}