您的位置:首页 > 其它

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

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;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐