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()'";