Java 在Jtable中搜索数据
我正在实现一个搜索方法,我想在一个Jtable(其中包含两列id和name)中搜索基于id和name的数据。到目前为止,我只能使用其中一个、id或名称进行搜索,但不能同时使用它们。我尝试了一个解决方案,但它不工作,它只是搜索最后一个(id或名称)。例如,如果我以try-and-catch-by-name开始,然后是id,那么它只与id-search一起使用。如果我从id和名字开始,它只按名字搜索。你能帮我吗 守则:Java 在Jtable中搜索数据,java,swing,search,jtable,Java,Swing,Search,Jtable,我正在实现一个搜索方法,我想在一个Jtable(其中包含两列id和name)中搜索基于id和name的数据。到目前为止,我只能使用其中一个、id或名称进行搜索,但不能同时使用它们。我尝试了一个解决方案,但它不工作,它只是搜索最后一个(id或名称)。例如,如果我以try-and-catch-by-name开始,然后是id,那么它只与id-search一起使用。如果我从id和名字开始,它只按名字搜索。你能帮我吗 守则: `private void textField1KeyReleased(java
`private void textField1KeyReleased(java.awt.event.KeyEvent evt) {
PreparedStatement pst=null;
ResultSet rs=null;
if (textField1.getText().length() > 0){
try{
String sql = "select * from compte_utilisateur where nom=?";
pst=maConnexion.ObtenirConnexion().prepareStatement(sql);
pst.setString(1, textField1.getText());
rs=pst.executeQuery();
TableUtilisateur.setModel(DbUtils.resultSetToTableModel(rs));}
**catch(Exception e){JOptionPane.showMessageDialog(null, e);}
try{
String sql = "select * from compte_utilisateur where id_utilisateur=?";
pst=maConnexion.ObtenirConnexion().prepareStatement(sql);
pst.setString(1, textField1.getText());
rs=pst.executeQuery();
TableUtilisateur.setModel(DbUtils.resultSetToTableModel(rs));}
catch(Exception e){JOptionPane.showMessageDialog(null, e);}
}
else update_table();
}`**
仅使用一个SQL调用,将相同的值从字段中传递两次
select * from compte_utilisateur where nom=? or id_utilisateur=?
您应该在项目中添加这个rs2xml.jar的jar/文件夹 String sql=“Select*From Inventarizimi,其中Regjistrimi=?”; 类forName(“oracle.jdbc.driver.OracleDriver”);Connection con=(Connection)DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:XE”,“Inventarizimi”);PreparedStatement preStatement=con.prepareStatement(sql);setString(1,txtRegjistrimi.getText()); 结果集结果=preStatement.executeQuery();
table.setModel(DbUtils.resultsetTableModel(result)) 要根据文本字段值填充表格,请参见。它不起作用,你能给我其他解决方案吗?请“它不起作用”是完全无用的说法,例如“天空是蓝色的”或“太阳是明亮的”。“不工作”到底是什么意思?你到底做了什么,但没有成功?你读过那篇文章吗?您在构建SQL查询时有问题吗?你在哪里被卡住了?我在那行有一个错误:private-Map-parameters=new-HashMap();它现在工作了,我做到了:
select*from compte_usilizateur where nom=?或者id_usilizateur=?
并且我添加了pst.setString(1,textField1.getText());setString(2,textField1.getText());setString(3,textField1.getText())代码>非常感谢您的帮助我已经这样做了,但是我有一个错误:java.sql.SQLException:没有为参数2指定值它现在工作了,我这样做了:select*from compte_usilizateur其中nom=?或者id_usilizateur=?
并且我添加了pst.setString(1,textField1.getText());setString(2,textField1.getText());setString(3,textField1.getText())代码>谢谢你的帮助