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)?,ASP.NET在生成SQL語句時(shí),會(huì)在Like后面再加上一次單引號(hào),造成錯(cuò)誤,如果打開 SQL Server的跟蹤管理器,可以看到執(zhí)行的語句如下
復(fù)制代碼 代碼如下:
exec sp_executesql N'SELECT * FROM Article Where [Title] like @strWhere',N'@strWhere nvarchar(5)',@strWhere=N'%為什么%'
不難理解,在 OldDbCommand 中也會(huì)有類似的做法。
正確的代碼為:
復(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版本問題 Invalid parameter number: no parameters were bound
- 基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過程解析
相關(guān)文章
MVC+EasyUI+三層新聞網(wǎng)站建立 tabs標(biāo)簽制作方法(六)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第六篇,教大家如何制作tabs標(biāo)簽,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07asp.net Forms身份驗(yàn)證和基于角色的權(quán)限訪問
Forms身份驗(yàn)證用來判斷是否合法用戶,當(dāng)用戶合法后,再通過用戶的角色決定能訪問的頁(yè)面。2009-09-09VS+opencv實(shí)現(xiàn)鼠標(biāo)移動(dòng)圖片
這篇文章主要為大家詳細(xì)介紹了VS+opencv實(shí)現(xiàn)鼠標(biāo)移動(dòng)圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01.net core 6.0 通過依賴注入注冊(cè)和使用上下文服務(wù)的教程
在.NET Core 6.0 中,獲取上下文的方式取決于您使用的技術(shù)棧和具體的應(yīng)用程序類型,這篇文章主要介紹了.net core 6.0 通過依賴注入注冊(cè)和使用上下文服務(wù)的教程,需要的朋友可以參考下2023-12-12asp.net中Word轉(zhuǎn)Html的辦法(不需要WORD組件)
最近碰到一個(gè)需求,在文本編輯器中實(shí)現(xiàn)“Word導(dǎo)入”功能 發(fā)現(xiàn)了幾種方法,只是作為總結(jié)使用2013-04-04