Wrong number of parameters: expected 0, was given 1 Query: select count(*) from product where pname like '%?%' Parameters: [%小%]


eclipse在dao層寫的模糊查詢sql:String sql = "select count(*) from product where pname like '%?%'";

這樣寫會導致以下錯誤

Wrong number of parameters: expected 0, was given 1 Query: select count(*) from product where pname like '%?%' Parameters: [%小%]<br/>

原因:

系統並沒有把sql里面的語句當成占位符?,只是當成了普通的字符。

如果在其他sql遇到這樣的報錯,

檢查sql需要的參數個數(expected 0)和傳遞的參數個數(was given 1)是否一致

解決方法:

將sql改成:String sql = "select count(*) from product where pname like ?";

然后將被占位的參數用 "%"+參數+"%"拼接作為模糊查詢的條件<br/>

保證sql需要參數數量和給出的參數數量一致


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM