C# SQL多条件查询拼接技巧
2023-09-14 08:57:24 时间
本文转载:http://blog.csdn.net/limlimlim/article/details/8638080
#region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); if (cboGroup.SelectedIndex != 0) { wheres.Add(" ptypeid=" + cboGroup.Text.Split('|')[0]); } if (txtSearchName.Text.Trim().Length > 0) { wheres.Add(" pname like '%" + txtSearchName.Text.Trim() + "%'"); } if (txtSearchCellPhone.Text.Trim().Length > 0) { wheres.Add(" pcellphone like '%" + txtSearchCellPhone.Text.Trim() + "%'"); } //判断用户是否选择了条件 if (wheres.Count > 0) { string wh = string.Join(" and ", wheres.ToArray()); sql.Append(" where " + wh); } #endregion #region 多条件搜索使用带参数的sql语句 StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); List<SqlParameter> listParameter = new List<SqlParameter>(); if (cboGroup.SelectedIndex != 0) { wheres.Add(" ptypeid=@typeid "); listParameter.Add(new SqlParameter("@typeid", cboGroup.Text.Split('|')[0])); } if (txtSearchName.Text.Trim().Length > 0) { wheres.Add(" pname like @pname "); //pname like '%乔%' //pname liek '%'+@pname+'%' listParameter.Add(new SqlParameter("@pname", "%" + txtSearchName.Text.Trim() + "%")); } if (txtSearchCellPhone.Text.Trim().Length > 0) { wheres.Add(" pcellphone like @cellphone "); listParameter.Add(new SqlParameter("@cellphone", "%" + txtSearchCellPhone.Text.Trim() + "%")); } //判断用户是否选择了条件 if (wheres.Count > 0) { string wh = string.Join(" and ", wheres.ToArray()); sql.Append(" where " + wh); } SqlHelper.ExecuteDataTable(sql.ToString(), listParameter.ToArray()); #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# List中写出LINQ类似SQL的语句
- C#签名算法HS256和RS256实战演练
- 读写分离子系统 - C# SQL分发子系统 - Entity Framework支持
- 读写分离子系统 - C# SQL分发子系统(目前只支持ADO.NET)
- C#.NET常见问题(FAQ)-如何使用DataGridView跟Excel数据交互
- C#基础视频教程7.4 如何编写简单游戏
- ActiveMQ c# 系列——进阶实例(三)
- c# countDownEvent类
- C#各种扩展名文件存入sql server数据库及读取到本地文件
- 【学习总结】SQL的学习-2-sql操作
- 浅谈Attribute [C# | Attribute | DefaultValueAttribute]
- C#各种扩展名文件存入sql server数据库及读取到本地文件
- C# 多线程网络爬虫
- C# Sql Server连接(增、删、改、查)
- C# Oracle、Sql Server连接(增、删、改、查)
- Atitit 调用另外语言的功能 目录 1. Waht 常见的语言java python js sql xml h5 c# php等之间的互相调用1 2. 为什么需要互相调用why1 3. 常
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- C# 插入排序
- SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
- Node.js:insert-sql帮助开发者生成SQL插入语句
- C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser
- C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]
- Oracle PL/SQL中的循环处理(sql for循环)
- C# EF使用SqlQuery直接操作SQL查询语句或者存储过程
- Android开发 客户端与C#服务器的连接+OkHttp+SQL Server
- C# sql like查询