我已将DocumentListener添加到JTextField,searchField,以便每次用户键入或删除searchField中的字符时都会调用存储过程。
我希望存储过程返回行,其中列中的值与键入的字符及其顺序相匹配。假设我有一个table.column FirstName,其值为#34; Pete"。如果用户键入" P",则应返回" Pete",如果用户键入" Pe",则应返回" Pete" ;等等。但如果用户只输入" e"它不应该返回" Pete"。我知道这里可能存在性能问题,但该表不太可能包含超过5000行,所以我猜这不会成为问题。
到目前为止,我有这样的事情:
CREATE PROCEDURE search (IN something VARCHAR(45))
BEGIN
SELECT * FROM Folks
WHERE FirstName LIKE CONCAT("%", something, "%")
END;
然而,它只会让所有人以“#Pe;"”的名义返回所有人,但不会以#" P"," Pe&#开头的所有人返回34;等等。有什么建议?提前谢谢!
答案 0 :(得分:0)
使用:
WHERE FirstName LIKE CONCAT(something, "%")
在开头留出%
,因此必须完全匹配开头。