• 项目中使用的自定义数据访问类(复杂查询,复杂操作)


    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;
                }
            }
    	}
    }

  • 相关阅读:
    [HNOI2016]序列
    [Cqoi2015] 编号 【逆向思维,暴力枚举】
    [NOI2015] 软件包管理器【树链剖分+线段树区间覆盖】
    [Hdu-6053] TrickGCD[容斥,前缀和]
    [Hdu-5155] Harry And Magic Box[思维题+容斥,计数Dp]
    牛客NOIP暑期七天营-提高组6
    [SHOI2007] 书柜的尺寸 思维题+Dp+空间优化
    [UVA12235] Help Bubu 思维题+状态定义+Dp
    牛客NOIP暑期七天营-TG3 赛后题解
    牛客NOIP暑期七天营-TG1 赛后题解
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234078.html
Copyright © 2020-2023  润新知