国产探花免费观看_亚洲丰满少妇自慰呻吟_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的傳參數無效問題,閱讀了這篇文章,大家是否對這些知識有所了解了?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳县| 连云港市| 文登市| 灵宝市| 仁布县| 酉阳| 霍城县| 阳原县| 中卫市| 内江市| 库伦旗| 兴安县| 北辰区| 石台县| 巴塘县| 固阳县| 淄博市| 什邡市| 朝阳区| 宜君县| 泾川县| 乌鲁木齐县| 蒙山县| 绥芬河市| 康乐县| 盖州市| 河北省| 嵩明县| 新乡市| 阳高县| 丰城市| 永新县| 磐安县| 图木舒克市| 平顶山市| 合水县| 周至县| 开远市| 阆中市| 巴中市| 咸宁市|