-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

GUI 設計

JTable に現在の日付を含める必要はありません。JTable の上の JLabel に入れることができます。

名前の前に存在/不在のブール値を JCheckBox として JTable に入れると、ユーザー エクスペリエンス (ux) が向上します。これにより、GUI が紙のロール本のように見えます。

私が考えている GUI の絵を描いていただければ幸いです。私の説明がお役に立てば幸いです。

データベース設計

次のテーブルを含むリレーショナル データベースをお勧めします。

Student
-------
Student ID
Student Last Name
Student First Name
...

学生 ID は、テーブルのプライマリ (クラスタリング) キーとして定義される自動インクリメント整数です。

School Date
-----------
School Date

このテーブルには、学年の一部である各日の行があります。このように、コードは週末や学校の休暇を気にする必要がありません。現在の日付が表にある場合、それは登校日です。

学年または学期が始まる前に、このテーブルを作成してロードする必要があります。

School Date の降順は、テーブルのプライマリ (クラスタリング) キーです。

Attendance
----------
Attendance ID
School Date
Student ID
Present / Absent

出席 ID は、テーブルのプライマリ (クラスタリング) キーとして定義される自動インクリメント整数です。

学生 ID は、Student テーブルを指す外部キーであり、どの学生が出席/欠席したかを定義します。

これが開始するのに十分な情報であることを願っています。

于 2013-07-29T18:05:38.613 に答える
1

どのデータベースシステムを使用していますか? データベースは本当に必要ですか、それともファイルで十分でしょうか? 学習/教育タスクのように見えます。

したがって、シリアライゼーションと呼ばれる手法を使用して Java オブジェクトを格納することができます。または、テキストファイル(例: CSV-File )を作成することもできます。データをデータベースに保存する場合は、 JDBCを確認する必要があります。

これは、インターネット検索の用語を使用してデータを保存する 3 つの方法であり、これを使用して旅を始めることができます。

幸運を。

于 2013-07-29T17:40:40.333 に答える