我已经为我正在使用SQL的课程整理了学生记录系统。用户只需添加,删除和显示学生记录即可。在UI中,有所有功能的按钮,按钮下方显示所有输入学生记录。一切都按预期运作,但是我遇到了一个小麻烦,我不知道如何解决。我把头发拉出来是因为我确信它很简单。
当数据库中没有学生记录并且您单击删除或显示按钮时,将向用户显示一条错误消息“您必须先选择要删除或显示的学生记录”....如预期的那样。
当数据库中有学生记录并且用户选择其中一个学生记录并单击删除或显示按钮时,记录将被删除或显示,并且它们按预期运行。
然而,这是我实际遇到的问题。如果显示学生记录并且用户没有选择其中一个,并且他们点击删除或显示按钮,当它应显示与上面相同的错误消息时,它什么都不做。
我实际上知道问题所在。我设置了一个if..else
语句来检查是否存在所有记录(if records > 0
),当然如果数据库中存在任何学生记录并且用户没有选择一个,那么它不会我不知道该怎么做。我真的想自己学习这个,我只是想找点方向。
所以问题是:Java中是否有一个函数来查看用户是否选择了数据库中的行?
以下是“删除”按钮的编码副本:
{
if (this.studentsTable.getRowCount() > 0)
{
int studentID = Integer.parseInt(this.studentsTable.getValueAt(this.studentsTable.getSelectedRow(), 0).toString());
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to delete the selected student?") == 0)
{
Graduate student = new Graduate(studentID, "", "");
student.delete();
((DefaultTableModel)this.studentsTable.getModel()).removeRow(this.studentsTable.getSelectedRow());
}
}
else
{
JOptionPane.showMessageDialog(this, "You must first select a student record to delete.");
}
}