zoukankan      html  css  js  c++  java
  • 查询拼接SQL语句,多条件模糊查询

    多条件查询,使用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);
    }

  • 相关阅读:
    fill & stroke
    UIView 中 hidden、alpha、clear color 与 opaque 的区别
    图像处理之_仿射变换与透视变换
    GPU性能:光栅化、图层混合、离屏渲染
    PHP开发api接口安全验证的实例,值得一看
    svn钩子(hooks)自动部署代码到web目录
    linux安装配置SVN并设置钩子
    使用Navicat for MySQL把本地数据库上传到服务器
    svn upgrade
    QQ分享 QQ空间分享 API链接:
  • 原文地址:https://www.cnblogs.com/libo-2249/p/10283514.html
Copyright © 2011-2022 走看看