iT邦幫忙

0

請問ASP.NET C# SQLCOMMAND裡面Like語法的參數化查詢要怎麼做?

  • 分享至 

  • xImage

最近在做ASP.NET使用C#,做到SQLCOMMAND參數化查詢的時候發現有問題,一直無法正確的查詢。我的語法如下:

string selStr = String.Format(@"Select * FROM  beautyData where nickname like '%@nickname%'  ");
            using (SqlConnection conn = new SqlConnection(strCon))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(selStr,conn))
                {                   
                    cmd.Parameters.AddWithValue("@nickname", "美美");
                    SqlDataReader dr = cmd.ExecuteReader();
                    GridViewBeauty.DataSourceID = null;
                    GridViewBeauty.DataSource = dr;
                    GridViewBeauty.DataBind();
                }
            }

selStr 我有嘗試寫成下面這一段也是不行

string selStr = String.Format(@"Select * FROM  beautyData where nickname like '%{0}%'  ", "@nickname")

問題其實應該就出在 like '%@nickname%' 這裡,我不知道這邊應該要怎麼改,有誰知道的可以幫我嗎?謝謝

不明 檢舉
https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcommand.parameters?view=dotnet-plat-ext-6.0
不明 檢舉
不用%%
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
0
kw6732
iT邦研究生 4 級 ‧ 2022-08-14 08:15:11

簡單回答你,這樣子處理即可。

string selStr = String.Format(@"Select * FROM  beautyData where nickname like '%'+{0}+'%'  ", "@nickname")

我要發表回答

立即登入回答