目前,我使用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'?
提前致谢!
答案 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调用。