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