通过代号获得列表 List-BaseModel | GetList8TheCode
2017-06-08 11:30:58 访问(1719) 赞(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());
}
上一条:
下一条:
相关评论
发表评论