简体   繁体   English

我的Like Query JDBC(Derby)有什么问题

[英]What's wrong with my Like Query JDBC(Derby)

Until now, I'm confused when to double quote and single quote queries. 到目前为止,我对何时使用双引号和单引号查询感到困惑。 My Search query doesn't seem to work. 我的搜索查询似乎无效。 I'm trying to use % and surround the component Search_Textfield with % to get results but i think there's something wrong with my query. 我正在尝试使用%并用%包围组件Search_Textfield以获得结果,但是我认为查询有问题。 Here's my code. 这是我的代码。

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
}           

Thanks. 谢谢。

The problem is with your single quotes. 问题在于您的单引号。 Instead of using 而不是使用

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

Try using: 尝试使用:

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

The single quotes must include the % , so you search like '%testString%' 单引号必须包含% ,因此您的搜索方式类似于'%testString%'

Did You try declare myQuery like: 您是否尝试将myQuery声明为:

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

or instead of like just equal '=' 或代替等于'='

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM