实现min和max等的函数查询

2015-04-06 11:28:11  访问(1368) 赞(0) 踩(0)

生成和输出的SQL语句

select 
(max(t.Score)) as maxValue, 
(min(t.Score)) as minValue
from UTB_EXAM_SCORE t


关键代码

 ISelectDriver iselect = entity;

            iselect.AddISelectItemWithEntityFieldInfo
                ( 
                    SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Max,
                    "maxValue",
                    entity._Score
                );

            iselect.AddISelectItemWithEntityFieldInfo
                (
                    SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Min,
                    "minValue",
                    entity._Score
                );


            IOrderByDriver iorder = entity;
            iorder.AddIOrderByItemWithEntityFieldInfo(entity._ID, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);

            // min和max用到了组合函数查询,禁止order by(会报错)
            iorder.IsEnabledOrderBy = false;


代码写法

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SlowX.DAL.Helpers;
using SlowX.Core.ICoreClasses;
using System.Data;
using SlowX.Functions.Functions;
using SlowX.Core.CoreClasses;

public partial class ExamSQL : System.Web.UI.Page
{
    protected string strResult = "";

    protected void Page_Load(object sender, EventArgs e)
    {
        DataBindTheContorls(null);
    }
    #region 操作

    /// <summary>
    /// 
    /// </summary>
    /// <param name="xdbHelper"></param>
    protected void DataBindTheContorls(DBHelper xdbHelper)
    {
        string theResult = null;
        bool bIsCreate = true;

        if (xdbHelper == null)
        {
            xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
        }
        else
        {
            // 没有打开链接 //
            bIsCreate = xdbHelper.IsNotOpen();
        }

        try
        {
            if (bIsCreate)
                xdbHelper.OpenDBHelper();

            SlowX.ExamLib.Business.UTB_EXAM_SCORE
                bll
                =
                SlowX.ExamLib.Business.UTB_EXAM_SCORE.instance;

            SlowX.ExamLib.Entity.UTB_EXAM_SCORE
                entity
                =
                new SlowX.ExamLib.Entity.UTB_EXAM_SCORE();

            ISelectDriver iselect = entity;

            iselect.AddISelectItemWithEntityFieldInfo
                ( 
                    SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Max,
                    "maxValue",
                    entity._Score
                );

            iselect.AddISelectItemWithEntityFieldInfo
                (
                    SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Min,
                    "minValue",
                    entity._Score
                );


            IOrderByDriver iorder = entity;
            iorder.AddIOrderByItemWithEntityFieldInfo(entity._ID, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);

            // min和max用到了组合函数查询,禁止order by(会报错)
            iorder.IsEnabledOrderBy = false;


            DataSet ds = bll.List(entity, xdbHelper);

            theResult =
                @"<textarea name=""TextBox1"" rows=""2"" cols=""20"" id=""TextBox1"" style=""height:400px;width:99%;"">"
                + bll.BuildSqlList(entity, xdbHelper)
                + "</textarea>";

            theResult += "<br /><br />";

            theResult += DataSetSlowXFunctions.DataSetToHtmlTable(ds, true);



            if (bIsCreate)
                xdbHelper.EndDBHelper();

        }
        catch (Exception err)
        {
            if (bIsCreate)
                xdbHelper.TranDBHelper();

            throw err;
        }
        finally
        {
            if (bIsCreate)
                xdbHelper.FinallyDBHelper();
        }

        strResult = theResult;
    }

    #endregion 操作


}




标签:实现min和max等的函数查询 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)