使用TablerowSorter和rowFilter在数据库中搜索记录

时间:2018-02-08 13:39:00

标签: java sql sqlite jdbc

我设法有一个能够过滤数据库中的记录的代码,在我的jtable中显示结果。下面是代码:

try{
     TableRowSorter<TableModel> sorter = new TableRowSorter<>(((DefaultTableModel)myTable.getModel()));
    sorter.setRowFilter(RowFilter.regexFilter(JTextField.getText()));
    myTable.setRowSorter(sorter);
    }catch(Exception e){
    e.getMessage();
    } 

问题是,当我点击我搜索过的所选行记录时,我无法将其数据输入到所需的文本字段中。
table_click的方法如下:

        try{
            int row = myTable.getSelectedRow();
            String table_click=(myTable.getModel().getValueAt(row,0).toString());
            String sgl="select * from employees where Name='"+table_click+"'";
            pst=conn.prepareStatement(sgl);
            rs=pst.executeQuery();
            if(rs.next()){
                String a = rs.getString("Name");
                JTextField.setText(a);        
            }
        }catch(SQLException | NumberFormatException e){
            e.getMessage();
        }finally{
            try{
                rs.close();
                pst.close();
            }
            catch(Exception e){
            }
        }

这样做只是选择数据库第一行中的记录而不是搜索记录 请问当我使用TableRowSorter和rowFilter时,如何单击我的jTable来仅选择我搜索过的记录而不是数据库中的第一条记录?谢谢。

0 个答案:

没有答案