2015-04-23 71 views
-6
public ArrayList searchCustomer(String cid) throws SQLException { 


ArrayList searchCustList = new ArrayList(); 



PreparedStatement pStmt = connection.prepareStatement("select * from customer where (custID = ? OR firstName LIKE ?)"); 


pStmt.setString(1, cid); 


pStmt.setString(2, "%" + cid + "%"); 

请解释一下我使用的搜索客户一个文本字段的名称或ID任何机构可以解释最后一行最后一个命令一个字段在Java 2个参数

+1

你的问题不清楚解释正确 – silentprogrammer

回答

1

你的问题还不清楚,但如果你想了解:pStmt.setString(2, "%" + cid + "%");

然后,它在SQL查询的第二参数设置为CID变量的值,以及围绕

添加%周围添加%,平均在SQL喜欢“的任何字符”,所以具有%cid%意味着任何物品它包含cid。

由于实际查询对于custId或firstName使用cid,这意味着它寻找具有特定id的用户,或者在其名字中使用id。

这是奇怪的,看起来像多了一个bug,不是逻辑的查询,但也许它具有姓一些ID来自旧旧的,谁知道

+0

感谢我uderstand兄弟谢谢 – user3516940

+0

@Masud是的,cid是一个变量,并将被替换为它在查询中的值。这只是一个快速解释,我希望变量名和变量值的概念是已知的;) – Vyncent