2015-04-23 26 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