java - 使用过滤器搜索并在 jTable 中显示
问题描述
我正在尝试从数据库中搜索并在 jTable 上显示数据,但是,我也想显示相似的名称。
问题是,使用“相似”或“喜欢”在任何位置显示相似的名称?
就像,如果用户在 jTextField 上搜索“Santos”,我想在 jTable 中显示“Lucas Santos”和“Santos Jr”。
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);
}
}
解决方案
这是我用于解决此问题的解决方案:
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);
}
推荐阅读
- docker - ffmpeg在编解码时会分配内存,不会立即释放吗?
- python - 在字符串python中定位起点和终点
- webpack - Webpack - 旧库的自动解析
- java - JavaFX 双向绑定文本到 Doubleproperty 负数
- powerbi - “创建模板组织内容包和应用程序”的用例是什么?
- docker - Portainer Docker Image - 访问我的家庭网络
- c# - 尝试在另一种方法中提及事件处理程序时出现难以理解的错误
- spring-boot - Axon Event 仅由我的服务的一个实例而不是全部(扇出)拾取
- tcl - 我们如何检查某个元素是否在 Tcl 列表中不存在?
- c# - HttpActionExecutedContext 响应内容 ReadAsByteArrayAsync 抛出内存异常