asp.net Parameters.AddWithValue方法在SQL語句的 Where 字句中的用法
更新時(shí)間:2009年01月21日 23:44:48 作者:
今天晚上看論壇,有人提問說,Parameters.AddWithValue方法在有些情況下不好使
他的寫法是這樣的:
復(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)椋珹SP.NET在生成SQL語句時(shí),會在Like后面再加上一次單引號,造成錯(cuò)誤,如果打開 SQL Server的跟蹤管理器,可以看到執(zhí)行的語句如下
復(fù)制代碼 代碼如下:
exec sp_executesql N'SELECT * FROM Article Where [Title] like @strWhere',N'@strWhere nvarchar(5)',@strWhere=N'%為什么%'
不難理解,在 OldDbCommand 中也會有類似的做法。
正確的代碼為:
復(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 = "%孟憲會%";
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版本問題 Invalid parameter number: no parameters were bound
- 基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過程解析
相關(guān)文章
.NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP
這篇文章介紹了.NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
詳解免費(fèi)開源的DotNet二維碼操作組件ThoughtWorks.QRCode(.NET組件介紹之四)
本篇文章主要介紹了免費(fèi)開源的DotNet二維碼操作組件ThoughtWorks.QRCode,非常具有實(shí)用價(jià)值,有興趣的同學(xué)可以來了解一下。2016-12-12
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
淺談ASP.NET MVC 防止跨站請求偽造(CSRF)攻擊的實(shí)現(xiàn)方法
下面小編就為大家分享一篇淺談ASP.NET MVC 防止跨站請求偽造(CSRF)攻擊的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01

