2016-12-05 86 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'而不是'='。您也可以使用通配符來掩蓋您的查詢,如上所述。

相關問題