2012-06-07 2 views
0

나는 자바에서 펀치 클럭을 만드는 개인 프로젝트를 진행 중이다. 몇 명의 사용자가 클럭을 입력하고 나가기 때문에 나는 을 입력 할 JTextField을 만들고, button(jButton1)을 클릭하면 프로그램에서 두 가지 작업을 수행해야합니다.Java에서 펀치 시계

  1. 는 ID 번호를 찾고 데이터베이스 JDBC의 칼럼을 통해 이동해야
  2. ID 번호가 발견되면 오류가 표시 그렇지 않은 경우, 또는 밖으로 시계의 기록으로 현재 시간을 복사해야합니다 프로그램 "ID 번호를 찾을 수 없습니다"와 같은 메시지

이것은 아이디어이며, 나는 내 자신과 구글의 도움으로 몇 가지 것을 배웠습니다. 그러나, 나는이 부분을 찾을 수 없다, 어떤 도움/방향으로 모든 것이 인정된다. 고맙습니다.

+0

정직하게 나는 어떻게 만들지 모른다. => 같은 경우 = 007485378 = 007485378 (데이터베이스에서) 다음 현재 시간을 복사하십시오. 나는 google에서 찾고있다 그러나 나는 진짜로 유용한 무언가를 찾아 낼 수 없다. –

답변

1

데이터베이스 작업을 수행하려면 SwingWorker을 사용해야합니다. 이미 JDBC를 사용 중이므로 PreparedStatement을 사용하고 쿼리를 실행하여 결과를 가져 오십시오. 결과는 현재 시간과 업데이트 데이터베이스를 발견되는 경우

, 당신은, 당신의 노동자가 작업을 완료되면 System.currentTimeInMillis()

를 호출하여 밀리 초에 현재 시간을 얻을 UI에 적절한 메시지를 표시 할 수 있습니다.

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 Injection에서 자신을 방지 할이 방법도 how Prepared Statement helps against SQL Injection을 읽어 ID를 고려

1. How to use PreparedStatement

2. A sample implementation for using SwingWorker for database operation

이 같은 PreparedStatement을 사용합니다 JTextBox에서오고있다

+0

감사합니다. 대단히 감사합니다. 전에이 옵션을 본 것 같아요. –

+0

당신은 환영합니다 – mprabhat

+0

안녕하세요, 이것이 당신에게 질문하는 가장 좋은 방법인지 모르겠습니다. 그러나 나는 내 질문에 대해 연구 해왔다. 나는이 생각을 내놓았다. 어떻게 생각하니 ?? 문자열 sql = "ID = 007859378 인 직원의 FIRST_NAME, LAST_NAME, HOURS 시간 선택" rs = stmt.executeQuery (sql); rs.next(); 문자열 first = rs.getString ("First_Name"); 문자열 last = rs.getString ("Last_Name"); String id = Integer.toString (id_col); textID.sestText (id); textFirstName.setText (first); textLastName.setText (last); 들여 쓰기를 유지하는 방법을 모르겠다는 것이 유감입니다. 좋지 않습니다. 이해하시기 바랍니다. 고맙습니다. –

관련 문제