国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

asp.net Parameters.AddWithValue方法在SQL語(yǔ)句的 Where 字句中的用法

2020-01-18 01:24:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

他的寫(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)椋珹SP.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();

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新沂市| 遂溪县| 阜平县| 略阳县| 锦州市| 茂名市| 西吉县| 赫章县| 正安县| 延寿县| 上林县| 枣强县| 维西| 新化县| 横山县| 西昌市| 巴中市| 佛坪县| 丘北县| 上栗县| 万全县| 西畴县| 阿拉尔市| 芦山县| 杭锦旗| 锡林郭勒盟| 泾源县| 溧水县| 措美县| 澎湖县| 吉安市| 偏关县| 云梦县| 依兰县| 莱西市| 河源市| 麦盖提县| 会同县| 柳河县| 阿合奇县| 瑞丽市|