Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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 什么';我的类查询JDBC(Derby)有什么问题_Java_Mysql_Jdbc_Derby - Fatal编程技术网

Java 什么';我的类查询JDBC(Derby)有什么问题

Java 什么';我的类查询JDBC(Derby)有什么问题,java,mysql,jdbc,derby,Java,Mysql,Jdbc,Derby,直到现在,我还不知道什么时候应该进行双引号和单引号查询。 我的搜索查询似乎不起作用。我试图使用%并用%包围组件搜索文本字段以获得结果,但我认为我的查询有问题。 这是我的密码 private void Search_searchButtonActionPerformed(java.awt.event.ActionEvent evt) { try{ String myUrl

直到现在,我还不知道什么时候应该进行双引号和单引号查询。 我的搜索查询似乎不起作用。我试图使用%并用%包围组件搜索文本字段以获得结果,但我认为我的查询有问题。 这是我的密码

private void Search_searchButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                    
    try{
        String myUrl="jdbc:derby://localhost:1527/EMPLOYEEINFO";
        String username="ADMIN1";
        String password="ADMIN1";
        Connection myConnection = DriverManager.getConnection(myUrl, username, password);
        Statement myStatement = myConnection.createStatement();

        String myQuery = "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID LIKE '%' '"+Search_TxtField.getText()+"' '%' ";

        ResultSet myRs = myStatement.executeQuery(myQuery);
        DefaultListModel myDLM = new DefaultListModel();

        while(myRs.next()){
          myDLM.addElement(myRs.getString(1));
        }//end of while loop

        Search_List.setModel(myDLM);


    }//end of try
    catch(SQLException ex){
        JOptionPane.showMessageDialog(null, ex.toString());
    }//end of catch
}           

谢谢。

问题在于你的单引号。 而不是使用

String myQuery = "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID LIKE '%' '"+Search_TxtField.getText()+"' '%' ";
尝试使用:

String myQuery = "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID LIKE '% "+Search_TxtField.getText()+" %' ";

单引号必须包含
%
,因此您可以像
'%testString%'
那样搜索,您是否尝试像以下那样声明myQuery:

String myQuery = "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID LIKE '%"+Search_TxtField.getText()+"%' ";
或者不喜欢仅仅相等的“=”

String myQuery = "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID='"+Search_TxtField.getText()'";