![](/img/trans.png)
[英]how can i programatically select a particular text from JTable when i do search in it?
[英]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.