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

asp.net SqlParameter關于Like的傳參數無效問題

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

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

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

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

AspNet技術asp.net SqlParameter關于Like的傳參數無效問題,轉載需保留來源!

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

主站蜘蛛池模板: 屏边| 平阴县| 恩平市| 思茅市| 新泰市| 化德县| 宝鸡市| 沙坪坝区| 广安市| 饶平县| 湄潭县| 龙井市| 禹州市| 镇原县| 沈丘县| 噶尔县| 临颍县| 方城县| 丹巴县| 明星| 巩义市| 历史| 武强县| 江阴市| 武夷山市| 东平县| 浙江省| 肇州县| 中卫市| 黄骅市| 台北县| 瓦房店市| 白朗县| 余干县| 威宁| 镇平县| 五家渠市| 宿迁市| 石狮市| 南溪县| 宜宾市|