AddISelectItemWithSQL| void AddISelectItemWithSQL(string _SQL); 实现添加自定义SQL的select

  • 
    
    
            /// <summary>
            /// 获得输出的SQL语句
            /// </summary>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            protected override string TheSQLGet(DBHelper xdbHelper)
            {
                string theResult = null;
    
                // 标识是否创建或打开数据库链接 //
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    // 如果 xdbHelper 为null //
                    // 则new一个数据库操作实体 //
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 如果 xdbHelper 不为null //
                    // 判断 xdbHelper是否打开链接 //
                    // 相当于是否执行 xdbHelper.OpenDBHelper(); //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                    {
                        // 没有打开,则打开链接 //
                        xdbHelper.OpenDBHelper();
                    }
    
                    // 业务逻辑操作实体 //
                    // insert/update/delete等操作 //
                    SlowX.ExamLib.Business.UTB_EXAM_CLASS
                       bll
                       =
                       SlowX.ExamLib.Business.UTB_EXAM_CLASS.instance;
    
                    // 组合SQL的逻辑实体 //
                    SlowX.ExamLib.Entity.UTB_EXAM_CLASS
                        entity
                        =
                        new ExamLib.Entity.UTB_EXAM_CLASS();
    
                    // select相关的方法 //
                    ISelectDriver iselect = entity;
    
                    // 设置 TheName,ID参与搜索 //
                    iselect.AddISelectItemWithDataColumnName
                        (
                            entity._TheName._Name + "|" + entity._ID._Name,
                            "|"
                        );
    
                    // 执行List操作 //
                    // 这里做DEMO,仅打印输出的SQL语句 //
                    // bll.List(entity, xdbHelper);
    
                    // 
                    theResult
                        =
                        bll.i_iBuildSQL.BuildSqlList(entity, xdbHelper);
    
    
                    if (bIsCreate)
                    {
                        // 关闭数据库链接 //
                        // 如果用了事务,提交数据库链接 //
                        xdbHelper.EndDBHelper();
                    }
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                    {
                        // 关闭数据库链接 //
                        // 如果用了事务,回滚数据库链接 //
                        xdbHelper.TranDBHelper();
                    }
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                    {
                        // 判断数据库操作是否正确关闭 //
                        // 如果没有正确关闭,则关闭并抛出异常提示代码缺陷 //
                        xdbHelper.FinallyDBHelper();
                    }
                }
    
                return theResult;
            } 
    
    
    
  • 
    select 
    (ID+2) as AddID
    from UTB_EXAM_CLASS t
    
    
    
    select 
    (ID+2) as AddID
    from UTB_EXAM_CLASS t
    
    
    
    
    
    
    
  •