0

Javaでパンチクロックを作成する個人プロジェクトに取り組んでいます。出入りするユーザーが何人かいるのでJTextField、ユーザーが入力する場所を作成し、プログラムID numberをクリックすると、 2 つのことを行う必要があります。button(jButton1)

  1. データベース JDBC の列を調べて ID 番号を探し、
  2. ID番号が見つかると、プログラムは出勤または退勤のために現在の時刻をレコードにコピーする必要があります。そうしないと、「ID番号が見つかりません」などのエラーメッセージが表示されます。

これがアイデアです。私は自分自身とグーグルの助けを借りていくつかのことを学びました。ただし、この部分が見つかりません。ヘルプ/指示は大歓迎です。ありがとうございました。

4

1 に答える 1

1

SwingWorkerデータベース操作を実行するには、 を使用する必要があります。すでに JDBC を使用PreparedStatementしているため、クエリを使用して実行し、結果を取得します。

結果が見つかった場合、現在の時刻でデータベースを更新し、呼び出して現在の時刻をミリ秒単位で取得できますSystem.currentTimeInMillis()

ワーカーの操作が完了したら、適切なメッセージを UI に表示します。

1. PreparedStatement の使い方

2.データベース操作に SwingWorker を使用するためのサンプル実装

ID が から来ていることを考慮して、次のようJTextBoxに使用します。PreparedStatement

String sql = "SELECT FIRST_NAME, LAST_NAME, HOURS FROM WORKERS WHERE ID= ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstml.setInt(1, 007859378);
ResultSet rs = pstmt.executeQuery();

while(rs.next()){
   //Extract values from ResultSet
}

このようにして、SQL インジェクションから身を守ることができます。また、プリペアド ステートメントが SQL インジェクションに対してどのように役立つかをお読みください。

于 2012-06-07T06:58:13.047 に答える