Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
301 views
in Technique[技术] by (71.8m points)

sql - Query for searching the name alphabetically

I have used the LIKE condition, but it required me to enter the full name into the database to find the name.

if (searchby.equals("Name"))
{
    try
    {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        System.out.println("
 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);
    }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

WhiteFang34 also said you need to iterate. But also you need to change to WHERE clause:

"SELECT * FROM FAMILYcensus WHERE Name > '"+ tfsearch.getText()+"' ORDER BY Name ASC LIMIT "+MAXRESULTS;

Note that limiting the number of results is a good idea here.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...