【问题标题】:How to update date in Date format to a resultset?如何将日期格式的日期更新为结果集?
【发布时间】:2014-04-03 04:55:13
【问题描述】:
Date dateformat=null;
Date i5Date=null;

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String date = i5t1.getText();

i5Date=(Date) formatter.parse(date);



while(rs.next())
{
rs.moveToInsertRow();
rs.updateDate("Date",i5Date);
rs.insertRow();
}

这不会以日期格式更新结果集。我可以知道我必须进行哪些更改才能以日期格式更新结果集。 (注意:-我不想以字符串格式更新。) 注意: - 我已经建立了连接并打开了结果集。

【问题讨论】:

  • 注意会改变存储在数据库中的日期值的格式,这就是重点,格式无关紧要,只有日期的值很重要,这样,当你想要的时候,你可以随意格式化。试试这个,使用 System.out.println(i5Date);我敢打赌它不是“dd/MM/yyyy”的格式
  • 那么,你的意思是如果我以字符串格式进行更新,这一切都没有关系吗?我的要求是,在另一个框架中,当我输入开始日期和结束日期时,我应该能够检索它们之间的所有报告。我可以使用日期作为字符串来实现它吗?
  • 您可以将字符串转换为日期并在 SQL 函数之间使用
  • 你能帮我举个例子吗..
  • 我更新了我的答案以显示如何在日期之间检索。如果你用谷歌搜索这个主题,你会发现大量有用的资源。

标签: java date


【解决方案1】:

结果集中的日期是 java.sql.Date 类型。您正在尝试格式化 java.util.Date。

假设您只是呈现日期,您需要在它们之间进行转换才能使其正常工作。 如果不是,您需要直接对您的架构进行更改。请参阅这些 SO 帖子:

ResultSet.getTimestamp("date") vs ResultSet.getTimestamp("date", Calendar.getInstance(tz))

java.util.Date vs java.sql.Date

更新 要像您尝试那样在日期之间检索,您需要这样做:

Connection conn = null;
PreparedStatement pstmt = null;

conn = getConnection();
String query = "select * from table_name between ? and ?";
pstmt = conn.prepareStatement(query);
pstmt.setDate(1, new java.sql.Date(startDate.getTime()));
pstmt.setDate(2, new java.sql.Date(endDate.getTime()));

ResultSet resultSet = pstmt.executeQuery();

【讨论】:

  • 感谢您的帮助。我知道这是两个不同的东西。但是,可以使用我正在使用的代码样式更新结果集吗?
  • 我的意思是打开结果集并更新列的值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-02
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 2022-07-04
  • 2013-08-11
相关资源
最近更新 更多