gpt4 book ai didi

java - 在 Jform(GUI) 的 3 个组合框中显示来自 java DB 的日期字段

转载 作者:行者123 更新时间:2023-12-01 11:33:00 26 4
gpt4 key购买 nike

所以我一直忙于编写一个程序,从 netbeans 中的 java db 中提取预设数据并将其显示在 Jform GUI 中。

除日期外,我的所有数据均正确显示。在我的数据库中,它设置在日期字段中,因此它是一个值,但我需要它显示在 3 个单独的组合框中。

经过长时间的测试,我发现我的程序正在尝试将完整日期“dd/mm/yy”插入“dd”组合框、“mm”组合框和“yy”组合中即使这些盒子没有正确的参数,请同时打开所有盒子,请你帮我弄清楚如何解决这个问题。

这是我的代码:

  try
{
//Connect to the DB
String url = "jdbc:derby://localhost:1527/PAT_DB";

Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();

String QuerySearch = "SELECT * FROM TBLPATIENTS WHERE PATIENT_ID = "+List1.getSelectedValue()+"";
ResultSet rs = stmt.executeQuery(QuerySearch);


while(rs.next())
{
PatientID_field.setText(rs.getString(1));
FirstName_field.setText(rs.getString(2));
LastName_field.setText(rs.getString(3));

//This is where im having problems
year_field.setSelectedItem(rs.getDate(4));
month_field.setSelectedItem(rs.getDate(4));
day_field.setSelectedItem(rs.getDate(4));
//This is where im having problems

Sex_field.setSelectedItem(rs.getString(5));
Address_field.setText(rs.getString(6));
City_field.setText(rs.getString(7));
PostalCode_field.setText(rs.getString(8));
Charge_field.setText(rs.getString(9));
Paid_field.setSelectedItem(rs.getString(10));
DoctorID_field.setText(rs.getString(11));

}

附注我尝试将日期字段更改为 .getString ,但没有任何区别。括号中的数字例如。

DoctorID_field.setText(rs.getString(11));

(11)对应于数据库中表中数据所在的列。如果我标记的值超过 11,则该语句将超出范围并且不起作用。

这是我的 GUI 的屏幕截图:

enter image description here

最佳答案

year_field.setSelectedItem(rs.getDate(4));
month_field.setSelectedItem(rs.getDate(4));
day_field.setSelectedItem(rs.getDate(4));

如果数据库中的数据是Date,那么您需要首先访问Date:

Date date = rs.getDate(4);

现在 Date 类中的大多数方法都已弃用,因此您实际上不想使用该类。相反,您可以使用日历:

Calendar calendar = Calendar.getInstance();
calendar.setTime( date );

现在您可以从日历中单独访问日、月和年:

int day = calendar.get( Calendar.DATE );
day_field.setSelectedIndex( day );

请注意,您可能需要使用(天 - 1),我不记得该天是否从零开始。

对月份和年份执行相同的操作。对于年份,您需要将年份转换为字符串,以便可以使用 setSelectedItem(...) 方法,因为您的组合框模型中不会有 2000 年。

关于java - 在 Jform(GUI) 的 3 个组合框中显示来自 java DB 的日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com