Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Jtable中搜索数据_Java_Swing_Search_Jtable - Fatal编程技术网

Java 在Jtable中搜索数据

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

我正在实现一个搜索方法,我想在一个Jtable(其中包含两列id和name)中搜索基于id和name的数据。到目前为止,我只能使用其中一个、id或名称进行搜索,但不能同时使用它们。我尝试了一个解决方案,但它不工作,它只是搜索最后一个(id或名称)。例如,如果我以try-and-catch-by-name开始,然后是id,那么它只与id-search一起使用。如果我从id和名字开始,它只按名字搜索。你能帮我吗

守则:

`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())谢谢你的帮助