大家好我想将学生的出勤存储到数据库中,我可以将存储的用户名填充到JTable和当前日期,但我想将JTextfield值保存到数据库中,新记录应该保存到数据库中第二天。
我正在使用rs2xml来填充关于数据库的jtabel以及sqlite manager(firefox addon)。
代码:
private void update_table(){
try{
Connection con=connectdatabse.ConnecrDb;
String sql = "select * from studentinfo";
PreparedStatement pst = con.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
TableStudent.setModel(DbUtils.resultSetToTableModel(rs));//TableStudent is variable of JTable
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
答案 0 :(得分:3)
您无需在JTable中拥有当前日期。您可以将它放在JTable上方的JLabel中。
如果您将JTable中的当前/缺席布尔值作为JCheckBox放在名称之前,那将是一个更好的用户体验(ux)。这使您的GUI看起来更像纸卷书。
我希望能够为您绘制一张我想到的GUI图片。我希望我的描述有所帮助。
我建议使用下表的关系数据库。
Student
-------
Student ID
Student Last Name
Student First Name
...
学生ID是一个自动递增的整数,定义为表的主(聚类)键。
School Date
-----------
School Date
这张表每天都有一行,这是学年的一部分。这样,您的代码就不必担心周末或学校假期。如果当前日期在表格中,那就是上学日。
您必须在学年或学期开始前创建并加载此表。
学校日期降序是表格的主要(聚类)键。
Attendance
----------
Attendance ID
School Date
Student ID
Present / Absent
考勤ID是一个自动递增的整数,定义为表的主(聚类)键。
学生证是指向学生表的外键,用于定义哪个学生在场/缺席。
我希望这是足以帮助您入门的信息。
答案 1 :(得分:1)
您使用的是哪个数据库系统?是真的需要数据库还是文件足够?看起来像学习/教育任务。
因此,您可以尝试使用名为序列化的技术存储Java对象。或者您可以编写文本文件(例如 CSV文件)。如果您想将数据存储到数据库,您应该查看 JDBC 。
这是使用互联网搜索条件存储数据的三种方式,可以开始您的旅程。
祝你好运。