2010-05-16 2 views
0

데이터베이스에 연결하고 적절한 텍스트가있는 데이터베이스 내용을 탐색하는 버튼 (다음, 새로 만들기, 저장, 삭제, 이전)을 만들 Java 프로젝트가 있습니다. 특정 정보에 대한 필드 및 레이블.Java : fillTextFields() 메소드를 생성하는 데 도움이됩니다.

내가 (각 버튼과 매우 유사 설정) 다음과 같이 내가 그것을 가지고 ... 예를 들어 아래의 코드를 사용합니다

:

JButton jbtnNext = new JButton("Next ->"); 
jbtnNext.addActionListener(this); 
if (e.getSource() == jbtnNext) jbtnNext_Click(); 
private void jbtnNext_Click() { 
    JOptionPane.showMessageDialog(null, "Next" ,"Button Pressed", 
     JOptionPane.INFORMATION_MESSAGE); 

    try { 
     if (rset.next()) { 
      fillTextFields(true); 
     }else{ 
      //Display result in a dialog box 
      JOptionPane.showMessageDialog(null, "Not found"); 
    } 
} 
    catch (SQLException ex) { 
     ex.printStackTrace(); 
    } 

} 

이 교수가를 구성하는 논리의 다음 개요를 준 fillTextFields() 방법 :

  1. 는 (("이전 또는"다음 "버튼을 누를 때) 데이터베이스에서 현재 레코드에서 적절한 값으로 GUI에 JTextFields을 채울 것입니다 재사용 가능한 코드 또는 빈 값을 제공하는 방법을 구축 새로운 버튼을 누를 때).

  2. 현재 레코드가 다음 (이전 및 다음) 값을 제공하는시기를 결정하거나 값이 비어있는 경우 (새 단추) 부울 인수를 메서드에 전달하십시오. 현재 레코드의 데이터를 채우기 값으로 사용하려면 레코드 포인터를 이동 한 후 이전 및 다음 단추 코드 모두에 대해 true를 전달하십시오. 새 버튼을 누른 채 빈 값으로 채우고 싶으면 메소드에 false를 전달하십시오.

  3. 조건부 식을 사용하여 부울 변수를 계산합니다. true 인 경우 적절한 get ----() resultset 메서드를 사용하여 JTextField를 채 웁니다. false이면 ""로 채 웁니다.

  4. JTextField의 .setText() 메소드는 각 JTextField를 채우기 위해 사용됩니다.

  5. fillTextFields 메서드가 적절한 예외를 throw하는지 확인하십시오.

나는 이해하고 새로운 버튼 메소드가 false를 통과하는 동안 이전 및 다음 버튼 방법은, 사실 통과,하지만 꽤 나 "를 던져하는 방법을 제대로 fillTextFields() 방법을 설정하는 방법을 이해하지 않습니다 적절한 예외 "... 어떤 도움을 정말로 감사하겠습니다, 감사합니다!

답변

1

fillTextFields 메서드는 이름에서 알 수 있듯이 텍스트 필드를 데이터베이스에서 가져온 데이터로 채 웁니다. 나는 rset이 전역 변수라는 것을 가정하므로 같은 클래스 내의 다른 메소드에서 액세스 할 수 있어야합니다.

tutorial을 확인하면 Java에서 텍스트 필드를 사용하는 방법을 알 수 있습니다.전달 된 부울 true 또는 false 경우

fillTextFields 방법은, 먼저, 확인이 true 경우, 당신은 결과 집합에서 데이터를 추출하고에서 검색 한 데이터를 표시하기 위해 .setText(textToPrint)를 사용 데이터 베이스.

다음과 같이 당신이 할 수있는 데이터를 검색하려면 :

rset.getString(1) 

위의 반환 String으로 데이터베이스의 첫번째 열에 저장된 값입니다. 다른 유형을 반환하는 방법을 보려면 JavaDoc을 읽어보십시오.

던져 질 예외에 관해서는 제공되는 JavaDoc에 대한 링크를 검사하여 예외를 던지는 메소드를 확인할 수 있습니다.

1

내가 아주 제대로 fillTextFields() 방법을 설정하는 방법을 이해하지 않거나 ... DB를 상호 작용이 실패 할 때

JDBC 방법이 SQLException을 던질 수있는 "적절한 예외를 발생"하는 방법에 대해 설명합니다. fillTextFields()은 그것을 잡아서는 안되며 통과시켜야합니다. 게시 된 코드에 이미 가지고있는 catch (SQLException e)에서 처리됩니다. 이 예외가있는 throws 절을 fillTextFields() 메서드에 추가해야합니다. 예 :

public void fillTextFields(boolean blank) throws SQLException { 
    Connection connection = null; 
    // ... 

    try { 
     connection = DriverManager.getConnection(url, username, password); 
     // ... 
    } finally { 
     if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {} 
     // ... 
    } 
} 

또한 Sun tutorial on ExceptionsSun JDBC tutorial 참조하십시오.