SQLserver多条件查询
来源:互联网 发布:人民网数据新闻 编辑:程序博客网 时间:2024/05/16 06:39
SQLserver多条件查询
根据前台用户的选择,去查询数据库。
问题是你不知道用户是否进行了选择,所有选项都可选可不选的,这就需要多条件判断去查询后台的数据。
首先,把它放到前台肯定不适合,参数个数的不同,后台查询的SQL语句也会不同,也能要写好几条线,所以,先把所有的参数都传到后台,执行查询之前再进行判断,
这里,利用条件判断和拼接SQL语句来完成查询。
代码如下
public List<vstudentexaminfoViewModel>QuerySelectExamInfo(string examDate, string startTime, string examName, stringexamPlace) { List<vstudentexaminfoViewModel> list = newList<vstudentexaminfoViewModel>(); StringBuilder StrSql = new StringBuilder(); if(examDate == null) { return list; } else { StrSql.Append("SELECT v.*,t.ExamCourseName FROM v_studentexaminfo v LEFT JOINtr_coursemapname t ON v.CourseID = t.CourseID where ExamDate=@examDate "); if (startTime != null && startTime != "全选") { StrSql.Append("and StartTime=@startTime "); } if (examName != null && examName != "全选") { StrSql.Append("and ExamName=@examName "); } if (examPlace != null && examPlace != "全选") { StrSql.Append("and ExamPlace = @examPlace "); } StrSql.Append("and v.IsUse='是'GROUP BY v.ExamMainID order by EndTime;"); } MySqlParameter[] paras = new MySqlParameter[] { newMySqlParameter("@examDate",examDate), newMySqlParameter("@startTime",startTime), newMySqlParameter("@examName",examName), newMySqlParameter("@examPlace",examPlace)}; DataTable dt =MySQLHelper.ExecuteDataTable(StrSql.ToString(), paras); List<vstudentexaminfoViewModel> listStudentExamInfo =TableToEntity<vstudentexaminfoViewModel>.ConvertToList(dt); return listStudentExamInfo; }
当然,这里也可以不使用拼接SQL语句。
使用if……elseif……条件判断来完成,但是,可能要写好几条完整的SQL语句,造成代码的冗余。
0 0
- SQLserver多条件查询
- sqlserver写多条件并列查询语句
- sqlserver多条件查询select语句合并
- sqlserver 多表关联多条件分页排序查询
- SqlServer 多条件查询 [存储过程] 经典例子
- SqlServer 多条件查询 [存储过程] 经典例子
- sqlserver 以年月日为条件查询记录
- sqlserver 以年月日为条件查询记录
- SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- linqtosql 多条件查询,拼条件查询
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- HBase条件查询(多条件查询)
- 包管理之yum篇
- 词的向量化表示
- bzoj 1874 取石子游戏 博弈论
- fetch属性
- caffe+anaconda2编译hdf5报错问题
- SQLserver多条件查询
- _set()和_get()方法归类
- MySQL事务与索引
- 计算阶乘
- 20170424Makefile笔记(一)
- Scala 学习(二)--- 数组
- 关于css后代选择器和子选择器的区别
- 解决jqueryUI img tilte样式不显示问题
- 工作笔记