首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用过滤器进行搜索并在jTable中显示

使用过滤器进行搜索并在jTable中显示
EN

Stack Overflow用户
提问于 2021-10-25 12:57:01
回答 1查看 29关注 0票数 1

我试图从数据库中进行搜索,并在jTable上显示数据,但是,我也想显示相似的名称。

问题是,在任何位置使用'similar to‘或'like’来显示相似的名字?

比如,如果用户在jTextField上搜索"Santos“,我想在jTable中显示"Lucas Santos”和"Santos Jr“。

代码语言:javascript
复制
        try{
        Connection cn=DB.connector.getConnection();
        PreparedStatement ps=cn.prepareStatement("select cad_nome,cad_apelido,cad_cpf,cad_idade,cad_data from cad_pessoa where cad_nome similar to ? order by cad_nome asc, cad_cpf asc nulls last ");
        
        if(jTextFieldNOME.getText().equals("")){

            //JOptionPane.showMessageDialog(null, "Por favor completar o campo CPF!\n");
            PreparedStatement stm=cn.prepareStatement("select * from cad_pessoa ");
            ResultSet rs = stm.executeQuery();
            
            DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
            tm.setRowCount(0);
        
        while(rs.next()){
            
            Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
            tm.addRow(o);
            
            
        }
            
        }

        //else {
        
        
        ps.setString(1, jTextFieldNOME.getText());

            ResultSet rs = ps.executeQuery();
            ps.execute();
            
        
        DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
        tm.setRowCount(0);
        
        while(rs.next()){
            
            Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
            tm.addRow(o);
            
            
        }
        
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog(this, e);
    }
}    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-26 16:42:31

下面是我用来解决这个问题的解决方案:

代码语言:javascript
复制
else if(jTextFieldNOME.getText() != null) {
        
        PreparedStatement ps=cn.prepareStatement("select cad_nome,cad_apelido,cad_cpf,cad_idade,cad_data from cad_pessoa where cad_nome like ? order by cad_nome asc, cad_cpf asc nulls last ");
        ps.setString(1,"%" + jTextFieldNOME.getText() + "%");

            ResultSet rs = ps.executeQuery();
            ps.execute();
            
        
        DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
        tm.setRowCount(0);
        JOptionPane.showMessageDialog(null, "nomes\n");
        while(rs.next()){
            
            Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
            tm.addRow(o);
            
            
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69708482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档