-1

大家好,我想将学生的出勤情况存储到数据库中,我可以将存储的用户名填充到 JTable 和当前日期,但我想将 JTextfield 值保存到数据库中,并且新记录应该在第二天保存到数据库中。在此处输入图像描述

我正在使用 rs2xml 来填充 jtabel 以及关于数据库的 sqlite 管理器(firefox 插件)。

代码 :

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);

}

4

2 回答 2

4

图形用户界面设计

您不需要在 JTable 中包含当前日期。您可以将它放在 JTable 上方的 JLabel 中。

如果您将当前/不存在的布尔值作为名称之前的 JCheckBox 放在 JTable 中,那将是更好的用户体验 (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 是一个自动递增的整数,定义为表的主(集群)键。

学生 ID 是一个外键,它指向学生表并定义哪个学生在场/缺席。

我希望这些信息足以让您入门。

于 2013-07-29T18:05:38.613 回答
1

您使用哪个数据库系统?真的需要数据库还是文件就足够了?看起来像一个学习/教育任务。

因此,您可以尝试使用一种称为序列化的技术来存储 Java 对象。或者您可以编写一个文本文件(例如CSV-File)。如果您想将数据存储到数据库中,您应该看看JDBC

这是使用互联网搜索术语存储数据的三种方法,可以开始您的旅程。

祝你好运。

于 2013-07-29T17:40:40.333 回答