2014-04-14 54 views
1

我的問題是,我不知道如何做一個列表(的jList從NetBeans中)從我的德比分貝從DB VARCHAR數據做一個清單 - 的NetBeans +德比

EX一些數據:

我有一個表格,可以保存來自「客戶端」的ID,姓名,電話和電子郵件,並且我想從我以前註冊的客戶端列表中顯示所有名稱,問題是我需要將varchar數據轉換爲listmodel 。我怎樣才能做到這一點?我想這一點,但沒有奏效:

while (rs.next()){ 
     int id_col = rs.getInt("clientID"); 
     String name = rs.getString("clientName"); 

     client_listClients.setText(name);  
    } 

它說,使用DefaultListModel

工作效果 「找不到符號」 爲.setText

編輯

public void DoConnect() { 

    DefaultListModel model = new DefaultListModel(); 
    client_listClients.setModel(model); 

    try { 
     String host = "jdbc:derby://localhost:1527/ANAIA_DB"; 
     String uName = "*****";  
     String uPass = "*****"; 
     con = DriverManager.getConnection(host, uName, uPass); 

     stmt = con.createStatement(); 
     String sql = "SELECT * FROM APP.CLIENT"; 
     rs = stmt.executeQuery(sql); 


     while (rs.next()){ 

      int id_col = rs.getInt("clientID");  
      String name = rs.getString("clientName"); 
      model.addElement(name); 
     } 
    } catch (SQLException err) { 
     JOptionPane.showMessageDialog(main.this, err.getMessage()); 
    } 
} 

THX aloooot @peeskillet

+0

是什麼client_listClients的數據類型? –

+0

其a varchar(100) – user3530313

+1

現在你應該接受@peeskillet答案! ** Tipp:**您應該爲模型填充值並將其分配給列表。這消除了每個新元素都需要重繪的列表。在while循環之後放置'client_listClients.setModel(model);'。 –

回答

0

「它說, 」couldant找到符號「 爲.setText」

JList沒有方法setText()。如有疑問,請閱讀docs

相反,您需要使用ListModel。如果你不想自己創建,你可以使用提供的DefaultListModel實現。在那裏你有方法addElement

您首先需要用模型聲明您的列表。

DefaultListModel model = new DefaultListModel(); 
JList client_listClients = new JList(model); 

然後你可以使用的方法addElement,所有的額外規定是後會自動更新的用戶界面。無需對列表做任何事情。

while (rs.next()){ 

    String name = rs.getString("clientName"); 
    model.addElement(name); 

} 

你可以看到更多的How to use Lists,並專注於部分Creating a Model

+0

Thx快速回答,但沒有在這裏工作..我的觀點是從數據庫中獲取所有名稱,並將其列出。我這樣做了,但名稱沒有顯示在我的client_listClients(Jlist) – user3530313

+0

它應該工作,如果你做得對。請顯示您嘗試過的代碼,以便我可以查看它。 –

+0

在問題中編輯的代碼! – user3530313