通过代号获得列表 List-BaseModel | GetList8TheCode

2017-06-08 11:30:58  访问(1718) 赞(0) 踩(0)

  • 
            /// <summary>
            /// 通过代号获得列表 List-BaseModel
            /// </summary>
            /// <param name="theCode"></param>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            public List<BaseModel> GetList8TheCode
                (
                    string theCode,
                    DBHelper xdbHelper
                )
            {
                List<BaseModel> theResult = null;
                
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    SlowX.NewsLib.Business.UTB_SLOWX_LINK
                        bll
                        =
                        this;
    
                    SlowX.NewsLib.Entity.UTB_SLOWX_LINK
                        entity
                        =
                        new Entity.UTB_SLOWX_LINK();
    
                    IQueryDriver iq = entity;
                    IOrderByDriver iorder = entity;
    
                    long pId = GetLongId8DataColumn
                        (
                            entity._TheCode._Name, 
                            theCode, 
                            xdbHelper
                        );
    
                    iq.AddIQueryItemWithEntityFieldInfo
                        (
                            entity._Path,
                            SlowX.DAL.Enums.SqlLink.EmSqlLink._Like_,
                            "," + pId.ToString() + ","
                        );
    
                    iq.AddIQueryItemWithEntityFieldInfo
                        (
                            entity._ID, 
                            SlowX.DAL.Enums.SqlLink.EmSqlLink.NotEqual, 
                            pId
                        );
    
                    iorder.AddIOrderByItemWithEntityFieldInfo(entity._Layer, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);
                    iorder.AddIOrderByItemWithEntityFieldInfo(entity._ShowSeq, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);
                    iorder.AddIOrderByItemWithEntityFieldInfo(entity._TheName, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);
                    iorder.AddIOrderByItemWithEntityFieldInfo(entity._ID, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC);
    
                    theResult = bll.ListBaseModel(entity, xdbHelper);
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
            }
    

  • 
            /// <summary>
            /// 获得DataRow
            /// </summary>
            /// <param name="dataColumnName"></param>
            /// <param name="dataColumnValue"></param>
            /// <param name="curEmWhereModel"></param>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            public DataRow GetDataRowByDataColumnName
                (
                    string dataColumnName,
                    object dataColumnValue,
                    Enums.WhereModel.EmWhereModel curEmWhereModel,
                    DBHelper xdbHelper
                )
            {
                DataRow theResult = null;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
    
                    BaseEntity entity = this.CreateBaseEntity();
    
                    entity.InitIQueryItem(curEmWhereModel);
    
                    entity.i_iqueryDriver.AddIQueryItemWithEntityFieldInfoName(dataColumnName, dataColumnValue);
    
                    theResult = _GetDataRow(entity, xdbHelper);
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
            }
    
  • 
            /// <summary>
            /// 通过字段获得Long类型的关键字ID - GetLongId8DataColumn
            /// </summary>
            /// <param name="dataColumnName"></param>
            /// <param name="dataColumnValue"></param>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            public long GetLongId8DataColumn
                (
                    string dataColumnName, 
                    object dataColumnValue, 
                    DBHelper xdbHelper
                )
            {
                DataRow dr = GetDataRowByDataColumnName
                    (
                        dataColumnName,
                        dataColumnValue,
                        SlowX.Core.Enums.WhereModel.EmWhereModel.无,
                        xdbHelper
                    );
    
                if (dr == null)
                {
                    string strValue = "{null}";
    
                    if (dataColumnValue != null)
                        strValue = dataColumnValue.ToString();
    
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:" + this.GetType().FullName + " - " + dataColumnName + "[" + strValue + "]没有找到记录"
                        );
                }
    
                return long.Parse(dr[this.Entity.p_IDFieldName].ToString());
            }
    

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

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