asp.net Parameters.AddWithValue方法在SQL語(yǔ)句的 Where 字句中的用法
更新時(shí)間:2009年01月21日 23:44:48 作者:
今天晚上看論壇,有人提問(wèn)說(shuō),Parameters.AddWithValue方法在有些情況下不好使
他的寫(xiě)法是這樣的:
復(fù)制代碼 代碼如下:
view plaincopy to clipboardprint?
string strWhere = "'%美%'";
strSql = "SELECT * FROM area Where [name] like @strWhere";//這個(gè)就不好使
cmd.Parameters.AddWithValue("@strWhere", strWhere);
string strWhere = "'%美%'";
strSql = "SELECT * FROM area Where [name] like @strWhere";//這個(gè)就不好使
cmd.Parameters.AddWithValue("@strWhere", strWhere);
這是因?yàn)?,ASP.NET在生成SQL語(yǔ)句時(shí),會(huì)在Like后面再加上一次單引號(hào),造成錯(cuò)誤,如果打開(kāi) SQL Server的跟蹤管理器,可以看到執(zhí)行的語(yǔ)句如下
復(fù)制代碼 代碼如下:
exec sp_executesql N'SELECT * FROM Article Where [Title] like @strWhere',N'@strWhere nvarchar(5)',@strWhere=N'%為什么%'
不難理解,在 OldDbCommand 中也會(huì)有類(lèi)似的做法。
正確的代碼為:
復(fù)制代碼 代碼如下:
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aspxWeb.mdb;";
OleDbConnection con = new OleDbConnection(connectionString);
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
string strWhere = "%孟憲會(huì)%";
string strSql = "SELECT * FROM Document Where [Author] like @strWhere";
cmd.Parameters.AddWithValue("@strWhere", strWhere);
cmd.CommandText = strSql;
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Response.Write(dr["Author"] + " : " + dr["Title"] + "<br>");
}
con.Close();
con.Dispose();
您可能感興趣的文章:
- MyBatis3傳遞多個(gè)參數(shù)(Multiple Parameters)
- Pytorch之parameters的使用
- Struts2源碼分析之ParametersInterceptor攔截器
- ECMAScript6函數(shù)剩余參數(shù)(Rest Parameters)
- PowerShell函數(shù)中使用$PSBoundParameters獲取輸入?yún)?shù)列表實(shí)例
- 淺談Rails 4 中Strong Parameters機(jī)制
- PDO版本問(wèn)題 Invalid parameter number: no parameters were bound
- 基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析
相關(guān)文章
.NET?Core基于EMIT編寫(xiě)的輕量級(jí)AOP框架CZGL.AOP
這篇文章介紹了.NET?Core基于EMIT編寫(xiě)的輕量級(jí)AOP框架CZGL.AOP,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
詳解免費(fèi)開(kāi)源的DotNet二維碼操作組件ThoughtWorks.QRCode(.NET組件介紹之四)
本篇文章主要介紹了免費(fèi)開(kāi)源的DotNet二維碼操作組件ThoughtWorks.QRCode,非常具有實(shí)用價(jià)值,有興趣的同學(xué)可以來(lái)了解一下。2016-12-12
把字符串轉(zhuǎn)為HtmlTable演示動(dòng)畫(huà)
怎樣將字符串轉(zhuǎn)為.cs頁(yè)面中的HtmlTable,在論壇上看到了這樣一個(gè)問(wèn)題,想試著把它解決下,感興趣的朋友可以觀看下本文的動(dòng)畫(huà),或許對(duì)你有所幫助2013-03-03
ASP.NET使用GridView導(dǎo)出Excel實(shí)現(xiàn)方法
這篇文章主要介紹了ASP.NET使用GridView導(dǎo)出Excel實(shí)現(xiàn)方法,是asp.net操作office文件的一個(gè)典型應(yīng)用,代碼中備有較為詳盡的注釋便于讀者理解,需要的朋友可以參考下2014-11-11
log4net教程日志分類(lèi)和自動(dòng)維護(hù)示例
log4net能不能按照功能分類(lèi)呢?如果通過(guò)配置不同的logger,然后功能根據(jù)不同的LoggerName加載Ilog實(shí)例,是可以做到。但由于這些功能的log配置差異性極小,也許僅僅就是文件名不同。于是想通過(guò)代碼進(jìn)行配置,下面把方法分享如下2014-01-01
淺談ASP.NET MVC 防止跨站請(qǐng)求偽造(CSRF)攻擊的實(shí)現(xiàn)方法
下面小編就為大家分享一篇淺談ASP.NET MVC 防止跨站請(qǐng)求偽造(CSRF)攻擊的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01

