【发布时间】:2026-02-13 21:35:01
【问题描述】:
我正在使用 Java Swing 和 MySQL 在 Eclipse 中编写代码。我在数据库中使用日历存储出生日期。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String DOB=sdf.format(db1.getDate());
如果用户想要更新,我想从数据库中检索日期并显示在 GUI 中以进行更新。
我该怎么做?
String idpop = JOptionPane.showInputDialog(null , "Enter Student ID to update record:");
int sid=Integer.parseInt(idpop);
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/schl","root","root");
String sql = "select * from stud_info where ID='"+sid+"' ";
PreparedStatement ps=con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
String Sid=rs.getString("ID");
id1.setText(Sid);
String Snm=rs.getString("Name");
nm1.setText(Snm);
SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy");
java.util.Date date = sdf.parse("DOB");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
db1.setCalendar(calender);
String Sem=rs.getString("Email");
em1.setText(Sem);
String Smb=rs.getString("MobNo");
mb1.setText(Smb);
String Saddr=rs.getString("Address");
addr1.setText(Saddr);
String Sssc=rs.getString("SSCMrks");
ssc1.setText(Sssc);
String Shsc=rs.getString("HSCMrks");
hsc1.setText(Shsc);
}
在那,我正在尝试更新记录,为此,我通过弹出窗口从用户那里获取 id,然后它正在从数据库中加载数据,但对于 dob,它给出了解析错误。所以我想知道如何将日期转换为日历?我已经删除了日期代码,之后它给出了当前日期和其他数据正常加载。
【问题讨论】:
-
对于最后一个问题,您可以随时阅读文档,docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/…
-
“还有一个问题” 欢迎您就 SO 提出许多问题,只要它们经过充分研究和充分表达,但为了使网站发挥最佳作用,每个问题都应在单独的问题线程中提出。请edit 这个问题删除第二个问题,并在检查Java Docs for
SimpleDateFormat后开始一个关于它的新线程如果需要。 -
Mrunal,你现在得到了什么结果?问题是您没有从数据库中获取 any 数据,
DOB字段没有返回您期望的内容,还是您在特定行出现错误? (顺便说一句,'MM'是指定日期格式的约定,上面的文档链接更详细,但MM-> 两位数,MMM-> 月份的短名称,MMMM-> 全名) -
@MRUNALMUNOT 你能说出你的数据库中存储了什么吗?看起来它可能是一个字符串。您是否遇到了特定错误,例如类型错误,或者类型转换(从
String DOB到Timestamp Sdb)对您的数据做了一些意想不到的事情(例如返回空白字符串或错误的日期?) -
我建议你不要使用
SimpleDateFormat、Date和Calendar。这些类设计不佳且早已过时,尤其是第一个类是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalDate和DateTimeFormatter。见Insert & fetch java.time.LocalDate objects to/from an SQL database such as H2。
标签: java swing jdbc java-calendar