C# 参数化SQL语句中的like和in
在寫項目的時候遇到一個問題,sql 語句進行 like in 參數化,按照正常的方式是無法實現的
我們一般的思維是:
Like 參數:
string strSql = "select * from Person.Address where City like '%@add%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");
In 參數
string strSql = "select * from Person.Address where AddressID in (@add)";
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");
可是這樣放在程序里面是無法執行的,即使不報錯,也是搜索不出來結果的,
去網上搜索也沒有一個明確的答案,經過反復試驗,終于解決這個問題
正確解法如下:
like 參數
string strSql = "select * from Person.Address where City like '%'+ @add + '%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");
?
in 參數
string strSql = "exec('select * from Person.Address where AddressID in ('+@add+')')";
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");
轉載于:https://www.cnblogs.com/wayne-ivan/p/3966997.html
總結
以上是生活随笔為你收集整理的C# 参数化SQL语句中的like和in的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django——WEB三层架构与MVC
- 下一篇: C#实现RSA加密和解密详解