zoukankan      html  css  js  c++  java
  • 项目中使用的自定义数据访问类(复杂查询,复杂操作)

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

  • 相关阅读:
    html5中将图片的绝对路径转换成文件对象
    Vue中之nextTick函数源码分析
    javascript中的异步 macrotask 和 microtask 简介
    HTML5可预览多图片ajax上传(使用formData传递数据)
    vue双向绑定的原理及实现双向绑定MVVM源码分析
    理解Vue中的Render渲染函数
    如何实现一个 Virtual DOM 及源码分析
    diff.js 列表对比算法 源码分析
    理解spread运算符与rest参数
    go语言之进阶篇普通变量的方法集
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234078.html
Copyright © 2011-2022 走看看