在Jtable中搜索数据

时间:2014-08-05 10:31:09

标签: java swing search jtable

我正在实现一个搜索方法,我想在一个基于id和name的Jtable(包含2列id和name)中搜索数据。到目前为止,我只能使用其中一个,ID或名称进行搜索,但不能同时使用它们。我尝试了一个解决方案,但它不工作只是搜索最后一个(id或名称)。例如,如果我以try和catch名称开头,然后是id,那么它只能用id搜索。如果我从id和名称开始,它只按名称搜索。请你帮帮我吧。

代码:

`private void textField1KeyReleased(java.awt.event.KeyEvent evt) {                                       

    PreparedStatement pst=null;
    ResultSet rs=null;
     if (textField1.getText().length() > 0){


     try{
    String sql = "select * from compte_utilisateur where nom=?";
     pst=maConnexion.ObtenirConnexion().prepareStatement(sql);
     pst.setString(1, textField1.getText());   
     rs=pst.executeQuery();
    TableUtilisateur.setModel(DbUtils.resultSetToTableModel(rs));}

    **catch(Exception e){JOptionPane.showMessageDialog(null, e);} 
     try{
    String sql = "select * from compte_utilisateur where id_utilisateur=?";
     pst=maConnexion.ObtenirConnexion().prepareStatement(sql);
     pst.setString(1, textField1.getText());   
     rs=pst.executeQuery();
    TableUtilisateur.setModel(DbUtils.resultSetToTableModel(rs));}

    catch(Exception e){JOptionPane.showMessageDialog(null, e);} 

     }

     else update_table();

}`**       

2 个答案:

答案 0 :(得分:0)

只使用一次SQL调用两次从字段传递相同的值

select * from compte_utilisateur where nom=? or id_utilisateur=?

答案 1 :(得分:0)

你应该在你的项目中添加这个rs2xml.jar的jar /文件夹

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