C# 参数化SQL语句中的like和in

转载 2012年03月26日 18:14:39

在写项目的时候遇到一个问题,sql 语句进行 like in 参数化,按照正常的方式是无法实现的
我们一般的思维是:

Like 参数:
string strSql = "select * from Person.Address where City like '%@add%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");

In 参数
string strSql = "select * from Person.Address where AddressID in (@add)";
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");

可是这样放在程序里面是无法执行的,即使不报错,也是搜索不出来结果的,
去网上搜索也没有一个明确的答案,经过反复试验,终于解决这个问题
正确解法如下:

like 参数
string strSql = "select * from Person.Address where City like '%'+ @add + '%'";
SqlParameter[] Parameters=new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "bre");
 
in 参数
string strSql = "exec('select * from Person.Address where AddressID in ('+@add+')')";
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");

C# 使用参数化SQL语句

之前实现的用户登录窗体,我们在用户名和密码框中都输入1‘ or ‘1’=1’,如下图所示。单击“登录“按钮后,你会发现竟然也能进入主窗体!我们输入的名户名和密码并不正确,为何也能进入系统呢? 登录...
  • mxx1529
  • mxx1529
  • 2017年02月13日 21:37
  • 1941

.net 拼接sql语句 in('xxx','xxx')

要求传递过来的字符串格式为:xxxx,xxx,xxxxx,xxxx,(两边可以有逗号). string.Format("delete table1 where id in ('{0}')", ids...
  • luofeng0710
  • luofeng0710
  • 2011年09月07日 15:26
  • 2678

linq之like操作

linq之like操作
  • chenguang79
  • chenguang79
  • 2011年01月13日 16:54
  • 11005

c#操作oracle总结

using System; using System.Data; using System.Data.OracleClient; using System.Collections; using Sys...
  • jszhangyili
  • jszhangyili
  • 2012年04月17日 19:11
  • 12529

关于C#SqlParameter传参进行模糊查询遇到的问题!

今天写作业碰到的问题,自己纠结,检查折腾了半小时,觉得实在不行了,开始百度,百度上也没有太确切的答案 ,也不是没有答案,就是太难找到了,并且大神讲的太深奥,原理是没看懂,但是解决办法学会了,下面贴代...
  • zhaixd123
  • zhaixd123
  • 2017年05月24日 02:56
  • 811

C#参数Sql,如果给IN传参数

in不能用参数赋值 可以用charindex函数代替 SQL code ? 1 SELECT * FROM sys_User WH...
  • kim
  • kim
  • 2014年10月09日 11:00
  • 3335

C# asp.net 中sql like in 参数化

在写项目的时候遇到一个问题,sql 语句进行 like in 参数化,按照正常的方式是无法实现的我们一般的思维是:Like 参数:string strSql = "select * from Pers...
  • maolixian
  • maolixian
  • 2011年01月27日 12:10
  • 5524

C# in关键字你造吗

上下文in关键字大致有三种 第一:在foreach中使用 用于遍历数组或集合foreach 语句对实现 System.Collections.IEnumerable 或 System.Co...
  • w200221626
  • w200221626
  • 2016年08月30日 17:21
  • 2606

Sql Server参数化查询之where in和like实现之xml和DataTable传参

Sql Server参数化查询之where in和like实现之xml和DataTable传参 在上一篇Sql Server参数化查询之where in和like实现详解中介绍了...
  • u011233568
  • u011233568
  • 2015年03月31日 14:03
  • 286

Sql Server参数化查询之where in和like实现详解

http://www.cnblogs.com/lzrabbit/archive/2012/04/22/2465313.html 身为一名小小的程序猿,在日常开发中不可以避免的要和where i...
  • shenxm1966
  • shenxm1966
  • 2015年09月22日 16:40
  • 1327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 参数化SQL语句中的like和in
举报原因:
原因补充:

(最多只允许输入30个字)