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

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:20:43
字體:
來源:轉載
供稿:網友

他的寫法是這樣的:

復制代碼 代碼如下:


view plaincopy to clipboardprint?
string strWhere = "'%美%'";
strSql = "SELECT * FROM area Where [name] like @strWhere";//這個就不好使
cmd.Parameters.AddWithValue("@strWhere", strWhere);
string strWhere = "'%美%'";
strSql = "SELECT * FROM area Where [name] like @strWhere";//這個就不好使
cmd.Parameters.AddWithValue("@strWhere", strWhere);


這是因為,ASP.NET在生成SQL語句時,會在Like后面再加上一次單引號,造成錯誤,如果打開 SQL Server的跟蹤管理器,可以看到執行的語句如下

復制代碼 代碼如下:


exec sp_executesql N'SELECT * FROM Article Where [Title] like @strWhere',N'@strWhere nvarchar(5)',@strWhere=N'%為什么%'


不難理解,在 OldDbCommand 中也會有類似的做法。
正確的代碼為:

復制代碼 代碼如下:


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();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐至县| 文安县| 雅江县| 泾川县| 高台县| 台北县| 确山县| 洞口县| 双牌县| 芦溪县| 保山市| 和政县| 海阳市| 双鸭山市| 仙游县| 岳西县| 中宁县| 扶绥县| 桂林市| 潜江市| 福泉市| 正镶白旗| 永年县| 吉水县| 渭南市| 台山市| 靖边县| 报价| 张家口市| 阿拉善盟| 叶城县| 耒阳市| 育儿| 南丰县| 凤阳县| 桑日县| 土默特左旗| 富顺县| 威宁| 威宁| 丁青县|