最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2009年06月27日 21:58:31   作者:  
用傳參方式模糊查詢searchName
按常規(guī)的思路,我們會這樣寫
復(fù)制代碼 代碼如下:

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ù)此,我們可以將代碼改成:
復(fù)制代碼 代碼如下:

String searchName ="Sam";
String strSql = "select * FROM Table1 where Name like @Name ";
searchName = "%"+searchName+"%"; //注意不用加單引號,傳參到Sql語句中會自動添加
SqlParameter[] parameters = {
new SqlParameter("@Name", searchName)
};

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

相關(guān)文章

最新評論

肇源县| 西青区| 波密县| 嘉祥县| 宁明县| 高淳县| 吴忠市| 绥棱县| 银川市| 开原市| 华阴市| 仁化县| 兰州市| 湘潭市| 荔浦县| 西安市| 漳平市| 监利县| 安吉县| 玉林市| 应城市| 麻栗坡县| 黄山市| 大悟县| 株洲县| 诏安县| 海安县| 庄河市| 大宁县| 鄯善县| 迭部县| 芦溪县| 合阳县| 临清市| 大洼县| 营口市| 丹棱县| 焦作市| 且末县| 台东市| 台山市|