c# – 添加SqlParameter绑定LIKE’%@ x%'[复制]
发布时间:2020-12-15 08:25:14 所属栏目:百科 来源:网络整理
导读:参见英文答案 Use of SqlParameter in SQL LIKE clause not working3个 我在获取以下代码以正确添加SqlCommand参数@vendor时遇到问题.由于某种原因,传递的查询似乎总是: select TOP 500 * from [mike_db].[dbo].[na_pe_sql_import] where vendname like '%@
参见英文答案 >
Use of SqlParameter in SQL LIKE clause not working3个
我在获取以下代码以正确添加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,使用一个字节来存储两个变量
- Celery – 运行一组具有复杂依赖关系的任务
- c – 为什么nvcc无法使用boost :: spirit编译CUDA文件?
- JSONObject 和JSONArray 方法测试
- MINI_XML 函数文档
- 8.Oracle索引
- create-react-app 报错 Unexpected end of JSON input whil
- ios – ObjC Plist文件读取比JSON更快?
- reactjs – React Router将IndexRoute重定向到正确的路径
- React Native – “react-native-interface.js” – WebSto