簡體   English   中英

如何在Jtable中搜索特定數據?

[英]How can I search particular data in Jtable?

我有一個文本字段,它必須從Jtable中搜索特定的記錄。 如何搜索表中的特定記錄? 已搜索的記錄將僅顯示在表中。 搜索后,可以突出顯示並將突出顯示的記錄的值放在txtfield或標簽中。

private void txtsearchKeyReleased(java.awt.event.KeyEvent evt) {                                      
   try{
       String sql = "select * from customer where Customer_ID=?";
       pst=conn.prepareStatement(sql);
       pst.setString(1, txtsearch.getText());
       rs= pst.executeQuery();
       if(rs.next()){
           String add1 =rs.getString("Customer_ID");
           lblID.setText(add1);
           String add2 = rs.getString("First_Name");
           lblfname.setText(add2);
           String add3 = rs.getString("Last_Name");
           lbllname.setText(add3);
           String add4 = rs.getString("Birthdate");
           lblbirthdate.setText(add4);
           String add5 = rs.getString("Gender");
           lblgender.setText(add5);
           String add6 = rs.getString("Occupation");
           lbloccupation.setText(add6);
           String add7 = rs.getString("Address");
           lbladdress.setText(add7);
           String add8 = rs.getString("Email");
           lblemailadd.setText(add8);
           String add9 = rs.getString("Contact");
           lblcontact.setText(add9);
           String add10 = rs.getString("Status");
           lblstatus.setText(add10);
           String add11 = rs.getString("Income");
           lblincome.setText(add11);
           String add12 = rs.getString("Amount");
           lblamount.setText(add12);
           String add13 = rs.getString("Months");
           lblterm.setText(add13 +" months");
           String add14 = rs.getString("Interest");
           lblinterest.setText(add14);
           String add15 = rs.getString("Date_Applied");
           lblapplied.setText(add15);
           String add16 = rs.getString("Purpose");
           lblpurpose.setText(add16);
       }
   }
           catch(Exception e){
JOptionPane.showMessageDialog(null, e);    
}                                     
}

它僅搜索客戶ID。 如果我搜索其他記錄仍在表中。 我想搜索特定記錄。 搜索記錄將顯示在表中。

  • 看一下JTable教程

  • 本教程中有關示例“ 排序和過濾”的信息

  • 為了更好的幫助,請盡早發布SSCC E,因為您的代碼演示了JDBC和PreparedStatement,

  • 在Swing中的Concurency上會遇到問題, 長期運行的JDBC Statement (以這種形式,您的代碼)結束之前,Swing GUI將是不負責任的 (鼠標和鍵事件),

  • 必須將JDBC Statement to the BackGround Task, use重定向JDBC Statement to the BackGround Task, use Runnable#Thread or SwingWorker`

  • Swing GUI所有更新必須在事件調度線程上完成

您對內部模型進行過濾,並使用過濾后的結果更新表模型。

您應該在項目中添加jar /文件夾rs2xml.jar

字符串sql =“ Select * From Inventarizimi where Regjistrimi =?”;
Class.forName(“ oracle.jdbc.driver.OracleDriver”); 連接con =(Connection)DriverManager.getConnection(“ jdbc:oracle:thin:@localhost:1521:XE”,“ Inventarizimi”); PreparedStatement preStatement = con.prepareStatement(sql); preStatement.setString(1,txtRegjistrimi.getText()); ResultSet結果= preStatement.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(result));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM