【发布时间】:2014-06-26 19:42:34
【问题描述】:
我正在寻找在遍历我的结果集时更新 MySQL 中的 DateTime 字段的最佳方法。我在这些方面发现了一些其他问题,但没有一个问题涉及 rs.updateDate 语句中的 Java 数据和 SQL 日期格式。我附上了编辑器犹豫的代码。
public class EmailQueueProcess {
public static Boolean process()
{
Date processedDtm = new Date();
java.util.Date today=new java.util.Date();
Timestamp currentTimestamp=new Timestamp(today.getTime());
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
strSQL = "select * from portal.emailqueue where portal.emailqueue.processedDtm is null";
conn = com.retailapppartners.Utils.staticGetConnection().getConnection();
stmt = conn.prepareStatement(strSQL, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
//now loop through and update the process datetime values
rs = stmt.executeQuery();
ResultSetMetaData rsMetaData = (ResultSetMetaData) rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
while (rs.next()) {
// Grab some data then update the row
rs.updateDate ("processedDtm", currentTimestamp);
rs.updateRow();
}
} catch .....
【问题讨论】:
-
您遇到什么错误?你是什么意思日期“格式”?
-
编辑说:“ResultSet 类型中的方法 updateDate(String, Date) 不适用于参数 (String, Timestamp)”所以看来我的变量与 rs 不兼容。更新日期。
-
您好,欢迎来到 Stack Overflow。请阅读帮助中心的How to create a Minimal, Complete, and Verifiable example,然后相应地编辑您的问题。谢谢。
-
@MattJohnson 编译器错误。
java.sql.Timestamp不是java.sql.Date,所以你不能将updateDate()与一个一起使用。