本文转载:http://blog.csdn.net/limlimlim/article/details/8638080

  1. #region 多条件搜索时,使用List集合来拼接条件(拼接Sql)
  2.  
  3. StringBuilder sql = new StringBuilder("select * from PhoneNum");
  4. List<string> wheres = new List<string>();
  5. if (cboGroup.SelectedIndex != 0)
  6. {
  7. wheres.Add(" ptypeid=" + cboGroup.Text.Split('|')[0]);
  8. }
  9.  
  10. if (txtSearchName.Text.Trim().Length > 0)
  11. {
  12. wheres.Add(" pname like '%" + txtSearchName.Text.Trim() + "%'");
  13. }
  14.  
  15. if (txtSearchCellPhone.Text.Trim().Length > 0)
  16. {
  17. wheres.Add(" pcellphone like '%" + txtSearchCellPhone.Text.Trim() + "%'");
  18. }
  19.  
  20. //判断用户是否选择了条件
  21. if (wheres.Count > 0)
  22. {
  23. string wh = string.Join(" and ", wheres.ToArray());
  24. sql.Append(" where " + wh);
  25. }
  26. #endregion
  27.  
  28. #region 多条件搜索使用带参数的sql语句
  29.  
  30. StringBuilder sql = new StringBuilder("select * from PhoneNum");
  31. List<string> wheres = new List<string>();
  32. List<SqlParameter> listParameter = new List<SqlParameter>();
  33.  
  34. if (cboGroup.SelectedIndex != 0)
  35. {
  36. wheres.Add(" ptypeid=@typeid ");
  37. listParameter.Add(new SqlParameter("@typeid", cboGroup.Text.Split('|')[0]));
  38. }
  39.  
  40. if (txtSearchName.Text.Trim().Length > 0)
  41. {
  42. wheres.Add(" pname like @pname ");
  43. //pname like '%乔%'
  44. //pname liek '%'+@pname+'%'
  45. listParameter.Add(new SqlParameter("@pname", "%" + txtSearchName.Text.Trim() + "%"));
  46. }
  47.  
  48. if (txtSearchCellPhone.Text.Trim().Length > 0)
  49. {
  50. wheres.Add(" pcellphone like @cellphone ");
  51. listParameter.Add(new SqlParameter("@cellphone", "%" + txtSearchCellPhone.Text.Trim() + "%"));
  52. }
  53.  
  54. //判断用户是否选择了条件
  55. if (wheres.Count > 0)
  56. {
  57. string wh = string.Join(" and ", wheres.ToArray());
  58. sql.Append(" where " + wh);
  59. }
  60.  
  61. SqlHelper.ExecuteDataTable(sql.ToString(), listParameter.ToArray());
  62. #endregion

推荐C#中一套生成sql条件的类 

http://dotnet.chinaitlab.com/CSharp/746379_3.html

http://blog.csdn.net/dj1232090/article/details/2476224

http://blog.sina.com.cn/s/blog_3d7bed6501000c85.html

列表查询组件代码, 简化拼接条件SQL语句的麻烦

http://www.cnblogs.com/wuhuacong/archive/2007/11/19/964100.html

多条件搜索分页的实现

http://www.cnblogs.com/dedeyi/archive/2013/03/13/2957790.html

C# SQL多条件查询拼接技巧的更多相关文章

  1. sql 多条件查询 拼接字符串 改成 普通查询格式

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROC [dbo].[usp_SRV_CheckServiceDemandOrder] ) = ...

  2. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  3. Mybatis中动态SQL多条件查询

    Mybatis中动态SQL多条件查询 mybatis中用于实现动态SQL的元素有: if:用if实现条件的选择,用于定义where的字句的条件. choose(when otherwise)相当于Ja ...

  4. C# SQL 多条件查询技巧

    #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneN ...

  5. SQL多条件查询安全高效比较

    ALTER PROCEDURE _tmp @ID VARCHAR(50), @PN VARCHAR(50), @Type INT AS BEGIN /************************* ...

  6. Webform中linq to sql多条件查询(小练习)

    多条件查询:逐条判断,从第一个条件开始判断,如果满足,取出放入集合,再从集合中查询第二个条件... aspx代码: <body> <form id="form1" ...

  7. SQL 多条件查询

    网上有不少人提出过类似的问题:“看到有人写了WHERE 1=1这样的SQL,到底是什么意思?”.其实使用这种用法的开发人员一般都是在使用动态组装的SQL.让我们想像如下的场景:用户要求提供一个灵活的查 ...

  8. SQL 变量 条件查询 插入数据

    (本文只是总结网络上的教程) 在操作数据库时 SQL语句中难免会用到变量 比如 在條件值已知的情況下 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值 ...

  9. sql---如何把sql查询出来的结果当做另一个sql的条件查询,1、语句2、with as

    '; -- table2 的 name 作为 table1的条件 select * from table1 where name in (select name from table2) --如果有多 ...

随机推荐

  1. linux vim 基本操作

    (一定要在英文输入法的状态下才有效)vi:实际上linux 上的 vi 不是真正的 vi,而是 vim;纯的 vi只在某些 unix 系统上还存在纯 的vi里面不支持退格键盘了,当按退格键盘以后,不是 ...

  2. 零售ERP开发(一)

    随着企业信息化不断提高,各种企业管理系统应用而生:怎么才能开发一套简洁.易用.功能健全的管理系统,尤其是能够帮助企业做出重大策略的系统,一致是我们追求的目标.近些年,接触的Erp系统主要包括国内比较知 ...

  3. angular 实例笔记之嵌套指令间的传参

    最近在项目中遇到了需要嵌套指令的情况,指令在嵌套后子指令必须获得父指令中的数据来进行判断,但是在写传参的时候遇到了坑,因此记录下来,防止以后遗忘,个人的肤浅理解,欢迎大家留言讨论 首先,关于direc ...

  4. 简单学C——第七天

    函数 函数是C语言重要的组成部分,你现在,或者以后(如果C没什么变化的话)所写的任何一个C语言程序都是由一个一个的函数组合在一起的,当然,现在或许你只会在主函数 main中写一个小程序,那么在看了本篇 ...

  5. JavaScriptCore-b

    JavaScriptCore提供了JavaScript和Objective-C桥接的Obj-C API.JavaScriptCore提供了让我们脱离UIWebView执行JavaScript脚本的能力 ...

  6. ZeroBraneStudio之支持GBK文件编码

    费了好大劲终于搞定了让ZBS支持打开GBK文件了.记录下过程: 看源码发现ZBS打开文件时会调用src\editor\commands.lua中的LoadFile函数,代码如下: local file ...

  7. 转:etcd:从应用场景到实现原理的全方位解读

    原文来自于:http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement-principle ...

  8. Contest 20140923 登月计划 BabyStepGaintStep

    登月计划 查看 提交 统计 提问 总时间限制:  40000ms 内存限制:  256000kB 描述 HJA在和学弟学数学,于是便有了一道非常简单的数学题:求满足 的最小自然数x. 输入 输入数据一 ...

  9. Contest20140710 loop bellman-ford求负环&&0/1分数规划

    loop|loop.in|loop.out 题目描述: 给出一个有向带权图,权为边权,求一个简单回路,使其平均边权最小. 简单回路指不多次经过同一个点的回路. 输入格式: 第一行两个整数,表示图的点数 ...

  10. The state of binary data in the browser

    The state of binary data in the browser Or: "So you wanna store a Blob, huh?" TL;DR Don't ...