![c# – 添加SqlParameter绑定LIKE’%@ x%'[复制],第1张 c# – 添加SqlParameter绑定LIKE’%@ x%'[复制],第1张](/aiimages/c%23+%E2%80%93+%E6%B7%BB%E5%8A%A0SqlParameter%E7%BB%91%E5%AE%9ALIKE%E2%80%99%EF%BC%85%40+x%EF%BC%85%26amp%3B%2339%3B%5B%E5%A4%8D%E5%88%B6%5D.png)
我在获取以下代码以正确添加sqlCommand参数@vendor时遇到问题.由于某种原因,传递的查询似乎总是:
select top 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%@vendor%';
如果我像这样设置查询,它可以工作,但我知道这是不好的做法:
string strquery = "select top 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%"+txt_search.Text.ToString()+"%';";
这是代码:
protected voID Search_Click(object sender,EventArgs e) { string search = txt_search.Text.ToString(); String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["mike_db"].ConnectionString; sqlConnection con = new sqlConnection(strConnString); con.open(); string strquery = "select top 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%@vendor%';"; cmd = new sqlCommand(strquery,con); cmd.Parameters.AdDWithValue("vendor",search); txt_search.Text = string.Empty; DataSet ds = new DataSet(); da = new sqlDataAdapter(cmd); da.Fill(ds); My_Repeater.DataSource = ds; My_Repeater.DataBind(); con.Close(); }解决方法 我认为@vendor在您的查询中被视为文字,而不是参数. 尝试按如下方式定义查询:
string strquery = "select top 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%' + @vendor + '%'";
然后添加如下参数:
cmd.Parameters.AdDWithValue("@vendor",search); 总结 以上是内存溢出为你收集整理的c# – 添加SqlParameter绑定LIKE’%@ x%'[复制]全部内容,希望文章能够帮你解决c# – 添加SqlParameter绑定LIKE’%@ x%'[复制]所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)