2010-05-16 91 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的JTextField中從數據庫中(當「上一頁或‘下一步’按鈕被按下)或空白值(當新的按鈕被按下時)。

  2. 要確定當前記錄何時提供值(下一個和上一個)或值將是空白(新按鈕)將一個布爾參數傳遞給方法。如果要將當前記錄的數據用作填充值,請在移動記錄指針之後爲先前和下一個按鈕代碼傳遞true。如果新按鈕被按下並且想要填充空白值,則將false傳遞給該方法。

  3. 在該方法中,使用條件表達式來評估布爾變量。如果爲true,則使用適當的get ----()resultset方法填充JTextFields。如果爲false,請填寫「」。

  4. JTextField的.setText()方法用於填充每個JTextField。

  5. 確保fillTextFields方法引發相應的異常。

我的理解,並有一個和下一個按鈕的方法傳遞true,而新的按鈕方法傳遞假的,但我不太明白如何建立fillTextFields()方法正確或者如何「扔適當的例外「......任何幫助真的會被讚賞,謝謝!

回答

1

fillTextFields方法應該如名稱所示,用從數據庫中獲得的數據填充文本字段。我假設rset是一個全局變量,所以你應該可以從同一個類中的其他方法訪問它。

你可以看看這個tutorial,這樣你就可以瞭解如何在Java中使用文本字段。

fillTextFields方法中,首先檢查是否已經通過了布爾是truefalse,如果是true,你提取從結果集的數據,並使用.setText(textToPrint)表明你從檢索到的數據數據庫。

檢索數據,你可以做如下:

rset.getString(1) 

以上的回報存儲在數據庫中的字符串的第1列的值。您可以通過JavaDoc閱讀以瞭解如何返回不同的類型。

關於要拋出的異常,您可以檢查提供的JavaDoc的鏈接,以查看哪些方法拋出異常。

1

我不太明白如何正確地設置了fillTextFields()方法或如何「拋出適當的異常」 ..

JDBC方法可以拋出SQLException當DB交互失敗。 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