国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:53:40
字體:
來源:轉載
供稿:網友

sqlparameter可以通過添加、刪除和修改帶參數的查詢語句來防止注入,在編寫SQL語句時,有時會根據方法傳入的參數判斷SQL語句中where條件的參數,感興趣的朋友一起跟著錯新技術頻道小編學習吧!

按常規的思路,我們會這樣寫

復制代碼 代碼如下:

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)
};

以上這些是錯新技術頻道小編給大家介紹的asp.net SqlParameter關于Like的傳參數無效問題,閱讀了這篇文章,大家是否對這些知識有所了解了?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙桃市| 登封市| 建昌县| 金门县| 五常市| 牟定县| 晋中市| 嘉祥县| 贵定县| 甘肃省| 杭锦后旗| 崇左市| 湖口县| 潮州市| 姚安县| 乐安县| 军事| 定结县| 舟山市| 昌吉市| 栖霞市| 简阳市| 克什克腾旗| 镇安县| 五寨县| 临江市| 临澧县| 永胜县| 江口县| 保山市| 麻江县| 闽侯县| 大丰市| 班戈县| 石渠县| 通道| 青浦区| 宁远县| 河源市| 永仁县| 雷波县|