使用部分数据从MySQL检索数据

时间:2015-06-01 05:03:35

标签: java mysql

目前,我使用JAVA中的搜索字段来获取有关使用MySQL搜索的员工的信息,如下所述:

String sql = "select * from CISData where NAME = ?";

        pst=conn.prepareStatement(sql);
        pst.setString(1, searchPeopleField.getText());
        rs=pst.executeQuery();

        if(rs.next()) {
            String add1 = rs.getString("MONTHYEAR");
            ymField.setText(add1);
            String add2 = rs.getString("NAME");
            nameField.setText(add2);
            String add3 = rs.getString("REFERENCENO");
            ernField.setText(add3);
            String add4 = rs.getString("UTR");
            utrField.setText(add4);
            String add5 = rs.getString("VERIFICATIONNO");
            vrField.setText(add5);
            String add6 = rs.getString("MONTHENDING");
            meField.setText(add6);
            String add7 = rs.getString("GAP");
            gapField.setText(add7);
            String add8 = rs.getString("LCM");
            lcmField.setText(add8);
            String add9 = rs.getString("ALD");
            aldField.setText(add9);
            String add10 = rs.getString("AD");
            adField.setText(add10);
            String add11 = rs.getString("AP");
            apField.setText(add11);    
        }

从上面的SQL语句中可以看出,我使用名称选择了适合正确员工的数据,该名称保存在' NAME' MySQL数据库中的列。

字段' NAME'在MySQL数据库表中包含他们的全名,例如,John Doe'。现在这种方法的问题在于,它只在我输入全名时检索信息,例如,John Doe'。

现在,我的问题是,当我输入' Joh'时,有可能以某种方式向我推荐全名。而不是实际输入他们的全名 - ' John Doe'?

提前致谢!

3 个答案:

答案 0 :(得分:1)

使用LIKE查询(WHERE NAME LIKE 'Joh%'),计算结果,如果有多个,"建议"

答案 1 :(得分:1)

我认为您只需在LIKE查询中使用sql

String name = searchPeopleField.getText();//Joh
String sql = 'select * from CISData where NAME LIKE' +name+'%';

答案 2 :(得分:0)

您可以根据此要求使用AJAX调用。