色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

asp.net SqlParameter關(guān)于Like的傳參數(shù)無效問題

按常規(guī)的思路,我們會這樣寫
復制代碼 代碼如下:
String searchName ="Sam";
String strSql = "select * FROM Table1 where Name like '%@Name%' ";
SqlParameter[] parameters = {
new SqlParameter("@Name", searchName)
};

但結(jié)果是查詢不到結(jié)果,跟蹤代碼也沒有發(fā)現(xiàn)錯誤,又不想用字符串拼接的方式(防止攻擊)。于是跟蹤了Sql的執(zhí)行,發(fā)現(xiàn)問題在于Sql給參數(shù)自動添加了單引號。
實際上在Sql,將like的代碼解析成為了 like '%'Sam'%' ",所以,你怎么查也都得不到想要的結(jié)果。

據(jù)此,我們可以將代碼改成:
復制代碼 代碼如下:
String searchName ="Sam";
String strSql = "select * FROM Table1 where Name like @Name ";
searchName = "%"+searchName+"%"; //注意不用加單引號,傳參到Sql語句中會自動添加
SqlParameter[] parameters = {
new SqlParameter("@Name", searchName)
};

這樣,就可以達到想要的查詢結(jié)果。

AspNet技術(shù)asp.net SqlParameter關(guān)于Like的傳參數(shù)無效問題,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 阿坝县| 平顺县| 马边| 克山县| 保定市| 保康县| 成都市| 泽普县| 西青区| 阜城县| 平遥县| 汉中市| 河北区| 崇州市| 通化县| 壤塘县| 乌什县| 永新县| 汉川市| 永福县| 中西区| 富阳市| 沭阳县| 玛曲县| 张掖市| 阿坝| 庆阳市| 天峻县| 尼木县| 张家川| 喀什市| 利辛县| 东辽县| 普兰县| 梁河县| 绥阳县| 沂水县| 黄石市| 柳江县| 会泽县| 朝阳县|