C# 参数化SQL语句中的like和in
在寫(xiě)項(xiàng)目的時(shí)候遇到一個(gè)問(wèn)題,sql 語(yǔ)句進(jìn)行 like in 參數(shù)化,按照正常的方式是無(wú)法實(shí)現(xiàn)的
我們一般的思維是:
Like 參數(shù):
string strSql = "select * from Person.Address where City like '%@add%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");
In 參數(shù)
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");
可是這樣放在程序里面是無(wú)法執(zhí)行的,即使不報(bào)錯(cuò),也是搜索不出來(lái)結(jié)果的,
去網(wǎng)上搜索也沒(méi)有一個(gè)明確的答案,經(jīng)過(guò)反復(fù)試驗(yàn),終于解決這個(gè)問(wèn)題
正確解法如下:
like 參數(shù)
string strSql = "select * from Person.Address where City like '%'+ @add + '%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");
?
in 參數(shù)
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");
轉(zhuǎn)載于:https://www.cnblogs.com/wayne-ivan/p/3966997.html
總結(jié)
以上是生活随笔為你收集整理的C# 参数化SQL语句中的like和in的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Django——WEB三层架构与MVC
- 下一篇: Hdu1072广搜