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]=newSqlParameter(@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]=newSqlParameter(@add, 343,372,11481,11533,11535,11755,11884,12092,12093,12143);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。