项目中使用的自定义数据访问类(复杂查询,复杂操作)
2016-12-29 00:00
513 查看
using System; using System.Collections.Generic; using System.Text; using MySql.Data.MySqlClient; using GoMusic.Data.MySqlClient; using GoMusic.Data; using Gta.VSL.Entities; using System.Data; namespace Gta.VSL.MySqlClient { /// <summary> /// 表的数据访问类 /// </summary> public partial class CourseCycleRepository { /// <summary> /// 从搜索类里面拼接参数化的SQL字符串 /// </summary> /// <param name="searchEntity">搜索类</param> /// <param name="sqlParams">搜索的参数,不能传入Null</param> /// <param name="whereSqlAppender">安全的SQL语句</param> protected override void GetWhereSqlBySearchItemCore(SearchCourseCycle searchEntity, List<MySqlParameter> sqlParams, StringBuilder whereSqlAppender) { if (searchEntity.CoursePlan_IdEqual.HasValue) { this.CombineSqlQueryCondition(c => c.CoursePlan_Id, ConditionCompareChar.Equal, searchEntity.CoursePlan_IdEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.RecordStatusEqual.HasValue) { this.CombineSqlQueryCondition(c => c.RecordStatus, ConditionCompareChar.Equal, searchEntity.RecordStatusEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.StartTimeLessThanEqual.HasValue) { this.CombineSqlQueryCondition(c => c.StartTime, ConditionCompareChar.LessThanEqual, searchEntity.StartTimeLessThanEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.EndTimeGreateThanEqual.HasValue) { this.CombineSqlQueryCondition(c => c.EndTime, ConditionCompareChar.GreaterThanEqual, searchEntity.EndTimeGreateThanEqual.Value, whereSqlAppender, sqlParams); } } /// <summary> /// 课程在该周是否存在课程安排 /// </summary> /// <param name="weekNum">周编号</param> /// <param name="courseId">课程Id</param> /// <returns></returns> public bool HasCourseCycle(int weekNum, int courseId) { string formatString = @"SELECT COUNT(*) FROM coursecycle LEFT JOIN courseplan ON coursecycle.CoursePlan_Id = courseplan.Id LEFT JOIN course ON courseplan.Course_Id = course.Id WHERE coursecycle.CycleCount = {0} AND course.Id = {1} AND coursecycle.RecordStatus = 1"; string sqlString = string.Format(formatString, weekNum, courseId); object count = MySqlDbHelper.ExecuteScalar(CommandType.Text, sqlString); if (Convert.ToInt32(count) > 0) { return true; } else { return false; } } } }
相关文章推荐
- 项目中使用的自定义数据访问类(复杂查询,复杂操作)
- 项目中使用的自定义数据访问类(复杂查询,复杂操作)
- SQL应用与开发:(七)数据操作 · 查 · (三)使用子查询访问和修改数据
- Neo4J 安装&常见语句操作&项目中的集成应用&复杂查询(@Query注解和自定义Match)
- 【转】数据库基本知识:(十)数据操作 · 查 · (三)使用子查询访问和修改数据
- 使用PDF.NET数据开发框架的实体操作语言OQL构造复杂查询条件
- 操作必须使用一个可更新的查询;HTTP 500 - 内部服务器错误; 您未被授权查看该页;您不具备使用所提供的凭据查看该目录或页的权限;HTTP 错误 401.3 - 访问被资源 ACL 拒绝
- jquery使用attr访问自定义属性,减少javascript脚本中代码和数据的耦合
- 一个正在项目中使用的DataInterface数据访问接口
- C#(.NET)数据访问连接、查询、插入等操作的封装类
- 访问https接口,进行数据交互(已在实际项目中使用)
- 转载:SQL through PowerShell 使用Powershell访问SQL并对数据进行读写增加删除操作
- Sqlserver 在查询分析器里如何访问远程的的数据库,进行数据查询更新等操作。
- 在本机使用自定义域名访问Tomcat项目
- 学习使用NHibernate2.1.0Beta1(四)— 创建数据访问项目DAL
- 使用ajax来实现数据的添加删除查询并能操作表格
- 使用ADO操作SQL SERVER 通过'OLE DB 访问 ACCESS 数据库 ,实现数据交换
- 使用ASP等客户端来访问Java的Web Service,取得复杂数据(DTO)
- (android 互联网开发)2 访问https接口,进行数据交互(已在实际项目中使用)
- 最近项目中flex数据访问使用的设计思想(续)