多条件查询,使用StringBuilder拼接SQL语句,效果如下:

当点击按钮时代码如下:

private void button1_Click(object sender, EventArgs e)
{
  //假设表名:Books
  //列名:BooksName(图书名称) Author(作者) Press(出版社)
  //多条件查询,要根据用户输入的内容来动态拼接SQL语句
  //1.假设如果用户没有输入就查询所有信息
  StringBuilder builder = new StringBuilder("select * from Books ");
  //在wheres集合中保存所有查询的SQL语句
  List<string> wheres = new List<string>();
  //把参数也放到集合中
  List<SqlParameter> sqlParameters = new List<SqlParameter>();
  //2.如果用户输入了条件,则根据用户输入的条件动态拼接SQL语句
  if (txtBookName.Text.Trim().Length>0)
  {
    //builder.Append(" BooksName like @btName");
    wheres.Add(" BooksName like @btName");
    sqlParameters.Add(new SqlParameter("@btName", SqlDbType.NVarChar, 100){ Value="%"+ txtBookName.Text.Trim()+"%" });
  }
  if (txtAuthor.Text.Trim().Length>0)
  {
    //builder.Append(" Author like @Author");
    wheres.Add(" Author like @Author");
    sqlParameters.Add(new SqlParameter("@Author", SqlDbType.NVarChar, 100) { Value = "%" + txtAuthor.Text.Trim() + "%" });
  }
  if (txtPress.Text.Trim().Length>0)
  {
    //builder.Append(" Press like @Press");
    wheres.Add(" Press like @Press");
    sqlParameters.Add(new SqlParameter("@Press", SqlDbType.NVarChar, 100) { Value = "%" + txtPress.Text.Trim() + "%" });
  }
  //拼接SQL语句
  //如果wheres中的集合当中的数据大于0,证明用户输入了条件
  if (wheres.Count>0)
  {
    builder.Append(" where ");//只要有查询条件就拼接一个where条件
    builder.Append(string.Join(" and ", wheres));//然后把后面的条件拼接起来
  }

  SqlParameter[] parameters = sqlParameters.ToArray();
  MessageBox.Show(builder.ToString());
  //SqlHelper.ExecuteReader(builder.ToString(),parameters);
}

查询拼接SQL语句,多条件模糊查询的更多相关文章

  1. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  2. ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView

    ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...

  3. sql语句中【模糊查询like的使用】

    1.like的使用: 在数据库软件中进行测试时,书写的格式是: 比如: select * from fdx.dbo.[User] where 1=1 and name like '%'+'a'+'%' ...

  4. sql语句的各种模糊查询

    一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1.%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况 ...

  5. sql语句的各种模糊查询语句

    一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1.%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况 ...

  6. 【mybatis】mybatis中放置IN查询拼接sql过长,IN查询进行分批次查询的处理

    需要使用的切割list集合的工具类,链接:https://www.cnblogs.com/sxdcgaq8080/p/9376947.html 处理逻辑,原本的一个LIst,进行切割,循环进行myba ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  8. asp下实现多条件模糊查询SQL语句

    常写一个简单的模糊查询的SQL语句格式可以如下例: sql="select * from 表名 where 字段名 like ’%" & request.form(&quo ...

  9. 实现多条件模糊查询SQL语句

    很多网友问到如何写模糊查询语句和多条件查询,这里我整理了一下,假设以姓名.性别.电话号...作为数据库中的字段名. 通常写一个简单的模糊查询的SQL语句格式可以如下例: sql="selec ...

随机推荐

  1. java quartz 计算近20次执行时间

    /** * * @desc 计算表达式近20次时间 * @auth josnow * @date 2017年5月31日 下午12:16:25 * @param cron * @return */ pu ...

  2. Java关于static的作用

    概述 只要是有学过Java的都一定知道static,也一定能多多少少说出一些作用和注意事项.如果已经对static了如指掌的请点击关闭按钮,看下去也只是浪费您宝贵时间而已.这篇随笔只是个人的习惯总结. ...

  3. 单例模式--java代码实现

    单例模式 单例模式,顾名思义,在程序运行中,实例化某个类时只实例化一次,即只有一个实例对象存在.例如在古代,一个国家只能有一个皇帝,在现代则是主席或总统等. 在Java语言中单例模式有以下实现方式 1 ...

  4. 系统的讲解 - PHP 浮点数高精度运算

    目录 概述 浮点数运算的"锅" 任意精度数学函数 常用数值处理方案 扩展 小结 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业.电子商务订单管理.数 ...

  5. 【机器学习基础】熵、KL散度、交叉熵

    熵(entropy).KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)在机器学习的很多地方会用到.比如在决策树模型使用信息增益来选择 ...

  6. Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台

    2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...

  7. RIP 实验

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1. 理解 RIP 协议的工作原理 2. 理解 RIPv1.RIPv2 的特性 3. 掌握 RIP 协议的基本配置 ...

  8. 老司机心得之时间管理"入坑"

    长期以来,时间管理一直被认为是自我管理,团队管理,项目管理的既关键又基础的手段,就连笔者本人也一直在崇尚时间管理的理念. 但是这里要讲的,不是什么鬼神方法论.而主要是对长时间以来学习和实践时间管理的一 ...

  9. WAF开放规则定义权:专家策略+用户自定义策略=Web安全

    在第一期“漫说安全”栏目中,我们用四格漫画的形式介绍了基于深度学习的阿里云WAF到底智能在哪里,能帮客户解决什么问题. 在今天的这期栏目里,我们依然通过漫画这种通俗易懂的方式,与大家分享阿里云WAF的 ...

  10. 我们是如何通过全球第一免费开源ERP Odoo做到项目100%交付

    传统友商ERP的交付过程 一.先初步需求调研,后选型功能模块 传统友商ERP第一件事情先对客户方进行初步的调研,客户方无论说什么,友商听过算过,只关心你人数多少,有哪些人涉及到哪些模块,接着对模块进行 ...