2016-12-05 115 views
0

我怎么做我的搜索能够接受任何文本的情况下接受不同的文本情况下

private void Update_Table(){ 
    try { 
     Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/IECEP","faculty","1234"); 
     Statement st = conn.createStatement(); 
     ResultSet rs = st.executeQuery("SELECT * FROM Students"); 
     Table_Students.setModel(DbUtils.resultSetToTableModel(rs)); 
    } catch(SQLException err) { 
     JOptionPane.showMessageDialog(null, err); 
    } 
    TableRowSorter<DefaultTableModel> sorter 
     = new TableRowSorter<>((DefaultTableModel) Table_Students.getModel()); 
     Table_Students.setRowSorter(sorter); 
} 

private void txtSearchKeyReleased(java.awt.event.KeyEvent evt) {          
    TableRowSorter<TableModel> sorter = new TableRowSorter<>(((DefaultTableModel) Table_Students.getModel())); 
sorter.setRowFilter(RowFilter.regexFilter(txtSearch.getText())); 

     Table_Students.setRowSorter(sorter); 
}          

截至目前,它只能接受什么exacltly在数据库中。就像第一个名字是“John”并且姓氏是“Doe”一样,您应该输入大写字母J以表示John出现,并且姓氏相同。

回答

0

首先,你可以随时大写从表中你的领域正在寻找:Upper function

其次,如果你正在寻找部分匹配您可以使用通配符的%:Sql % wild card

所以对于每您的要求,您可以在使用上面的sql函数时在表格中查找大写字词

0

当您使用“select * from学生姓氏像'doe'”时,它将返回所有doe大小写组合。魔术字是'like'而不是'='。您也可以使用通配符来掩盖您的查询,如上所述。

相关问题