C# ADO.NET中设置Like模糊查询
ADO.NET进行参数化时会自动将参数值包含在单引号中,除了特殊需求,最好不要自己手动添加单引号。ADO.NET中识别参数标识是使用符号@,如果在SQL语句中将参数标识放在单引号中,单引号中的参数标识只会被当成字符串!
所以要对LIKE语句进行参数化查询时,就要先对参数值进行格式化,在传参之前就设置好通配符,具体实现代码如下:
string sql = "SELECT * FROM STORE_IN_TYPE where del_status = 0";SqlParameter[] paras = { };//商品名称if (itype_name != ""){string quanpin = XTools.XHelper.PinYinHelper.GetFull(itype_name).Trim().ToLower();string szm = XTools.XHelper.PinYinHelper.GetFrist(itype_name).Trim().ToLower();sql += $@" and (itype_name like @goods_nameor itype_name_py like @quanpinor itype_name_fpy like @szm)";paras = new SqlParameter[]{XTools.XDB.SQLHelper.GetParameter("@goods_name", "%"+itype_name+"%",SqlDbType.VarChar,64),XTools.XDB.SQLHelper.GetParameter("@quanpin", "%"+quanpin+"%",SqlDbType.VarChar,64),XTools.XDB.SQLHelper.GetParameter("@szm", "%"+szm.Replace(" ", "")+"%",SqlDbType.VarChar,64)};}sql += " and create_time>= '" + dt1.ToString("yyyy-MM-dd HH:mm:ss")+ "' and create_time<= '" + dt2.ToString("yyyy-MM-dd HH:mm:ss") + "' ";SqlDataReader reader = XTools.XDB.SQLHelper.GetReader(sql,paras);
从上面的代码中我们可以看到具体的变换有两点,第一点是SQL语句中取消了通配符%并且参数标识没有被单引号包含其中,第二点则是通配符直接放到了参数值中,这样ADO.NET在进行参数化后所生成的SQL就完全没问题了,最终也能正确的查询出结果。
转载于:https://www.cnblogs.com/ZaraNet/p/11231480.html
C# ADO.NET中设置Like模糊查询相关推荐
- python数据库模糊查询_python中数据库like模糊查询方式
python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...
- Springboot项目如何设计接口中敏感字段模糊查询?
目录 前言 场景分析 实现方案 环境配置 依赖配置 代码实现 总结 前言 在<Springboot项目如何设计接口中敏感字段的加密.解密>和<Springboot项目如何设计接口中敏 ...
- MYSQL中LIKE(模糊查询)
文章目录 0 写在前面 1 代码格式 2 SQL数据准备 3 举例 3.1格式一:`[NOT] where 字段 LIKE '%' `:表示指代任意内容: 3.2 格式四:[NOT] where 字段 ...
- jdbc中如何实现模糊查询
情况如何 再利用jdbc执行sql语句的时候,对于其他的句子的执行没什么太大的问题:加上占位符,然后设置占位符的值. 但是在模糊查询的时候,一直都写不对,这里提供了两种可选的解决办法,以供参考. 解决 ...
- 对用户信息的模糊查找java_java中对SQL模糊查询通配符%的处理
在模糊查询的SQL语句中,如果有用户输入查询通配符'%',使用 select * from table where code like '%condition%'的SQL,会查出全部记录,这个如何解决 ...
- java中如何做模糊查询_到底Java里的模糊查询语句该怎么写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在String sql="select * from car where carName like '%'+?+'%'";可以查询出 ...
- Mybatis中(#{ })模糊查询like(使用oracle的concat函数嵌套拼接SQL)
需求: 模糊查询需要左右各拼接一个'%',如:like %key% . 项目情况: mybatis中动态传参一般采用占位符#{key}.使用数据库:orecle. 错误的尝试: 尝试使用: like ...
- 数据库SQL Server中数据的模糊查询
1.Like 使用Like查询时,字段中的类容并不一定与查询内容完全匹配,只要字段中含有这些内容即可! 代码如下: select StudentName, StudentAdress from Stu ...
- 聊一聊数据加密中如何进行模糊查询
为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码.手机号.电话号码.详细地址.银行卡号.信用卡验证码等信息,这些信息对加解密的要求也不一样,比如说密码我们需要加密存储,一般使 ...
- mysql中使用like模糊查询时如何转义%
我们经常使用like语句配合%%通配符来进行模糊查询,那么如果字段内容本身含有%,而你要查询包含有%的记录怎么办呢怎么办呢.假设字段是title,那么下面的语句可以吗? select * from t ...
最新文章
- PHP smarty缓存
- 如何让Ubuntu系统支持WebP图片格式
- angular 路由页面不刷新
- 2.27 18种定位方法总结
- 《Linux内核设计与实现》读书笔记(五)- 系统调用
- STM32F4设置系统时钟源为内部HSI
- java response文件流下载,后缀名称设置
- NYOJ -11--奇偶数分离
- java中文手册下载,22年最新
- java自定义生成js代码_基于JavaScript的代码自动生成工具
- 行政区划代码2020(SQL)--(上)
- 应聘flash游戏开发面试技巧及建议
- 用isPrime函数来判断一个数字是否为素数
- 计算机再带word打不开怎么办,word打不开怎么办
- 逍遥模拟器安装激活面具magisk教程
- 华为大数据客户端安装步骤
- PDF转PNG高清不失帧
- Frequency Estimation
- 用正则表达式提取富文本内容(去除html,p,a等标签)
- 绘制花朵Flower
热门文章
- 4. 使用Keras-神经网络来进行MNIST手写数字分类
- yolo迭代次数_你一定从未看过如此通俗易懂的YOLO系列(从v1到v5)模型解读 (中)
- java 新项目计划_项目计划 - KerryJava - 博客园
- php如何接受用户邮箱发送信息,怎么将用户购物车的产品发送到邮箱
- mysql确定数据表中是否存在某字段_MySQL判断表是否存在某个列
- 初识kmp算法(呕心沥血之文----看视频+总结)
- linux密钥链接失败的原因,linux中ssh密钥登录失败问题解决办法
- android wifi列表轮询,(八十八)Android O WiFi启动流程梳理续——connectToSupplicant
- numpy的结构数组和内存布局
- 学习的四重境界,给上初中侄女,如何学习,如何定义社会人才