我使用了LIKE条件,但它要求我在数据库中输入全名来查找名称.
- if (searchby.equals("Name"))
- {
- try
- {
- Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- System.out.println("\n Driver loaded");
- Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB");
- Statement stmt=con.createStatement();
- ResultSet rs = stmt.executeQuery("SELECT Name FROM FAMILYcensus WHERE Name LIKE '"+ tfsearch.getText()+"'");
- // ResultSet rs = stmt.executeQuery("SELECT Name FROM FAMILYcensus WHERE Name LIKE );
- System.out.println("Hi");
- rs.next();
- String names = rs.getString("NAME");
- System.out.println("NAME: " + names );
- JOptionPane.showMessageDialog(null,"RECORD FOUND");
- tasearch.setText(names);
- }
- catch (Exception e)
- {
- System.out.println("EXCEPTION " + e);
- }
解决方法
WhiteFang34还说你需要迭代.但是您还需要更改为WHERE子句:
- "SELECT * FROM FAMILYcensus WHERE Name > '"+ tfsearch.getText()+"' ORDER BY Name ASC LIMIT "+MAXRESULTS;
请注意,限制结果数量是一个好主意.