编程帮手网站:逻辑方法工具实现更新UTB_WEB_CODE_READSRC的ProjSrc_Id字段
2017-07-14 11:31:39 访问(2573) 赞(0) 踩(0)
原因:
UTB_WEB_CODE_RPROJSRC 是一个列表记录
UTB_WEB_CODE_READSRC 是树形表记录
UTB_WEB_CODE_RPROJSRC.ID == UTB_WEB_CODE_READSRC.ProjSrc_Id
早先没有UTB_WEB_CODE_RPROJSRC,查看源码通过UTB_WEB_CODE_READSRC串联起来,性能比较差
追加UTB_WEB_CODE_RPROJSRC后,需要update UTB_WEB_CODE_READSRC.ProjSrc_Id = UTB_WEB_CODE_RPROJSRC.ID
/// <summary>
///
/// </summary>
/// <param name="xdbHelper"></param>
/// <returns></returns>
protected List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC>
WebCodeReadSrcModelRootList(DBHelper xdbHelper)
{
List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC> theResult = null;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
SlowX.WebLib.Business.UTB_WEB_CODE_READSRC
bll
=
SlowX.WebLib.Business.UTB_WEB_CODE_READSRC.instance;
SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC
entity
=
new SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC();
IQueryDriver iq = entity;
iq.WhereAddLong(entity._PID, 0);
iq.WhereAddLong(entity._ProjSrc_Id, 0);
theResult = bll.ListCurModel(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
/// <summary>
///
/// </summary>
/// <param name="rootId"></param>
/// <param name="projSrc_Id"></param>
/// <param name="xdbHelper"></param>
/// <returns></returns>
protected int
WebCodeReadSrcUpdateProjSrc_Id
(
long rootId,
long projSrc_Id,
DBHelper xdbHelper
)
{
int theResult = 0;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
SlowX.WebLib.Business.UTB_WEB_CODE_READSRC
bll
=
SlowX.WebLib.Business.UTB_WEB_CODE_READSRC.instance;
SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC
entity
=
new SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC();
IQueryDriver iq = entity;
ISaveDriver isave = entity;
iq.WhereAddStr
(
entity._Path,
SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss._Like_,
"," + rootId.ToString() + ","
);
isave.AddISaveItem(entity._ProjSrc_Id, projSrc_Id);
theResult = bll.Update(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
/// <summary>
/// 点击确定
/// </summary>
/// <param name="xdbHelper"></param>
protected int GOClick(DBHelper xdbHelper)
{
int theResult = 0;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC>
theList
=
WebCodeReadSrcModelRootList(xdbHelper);
SlowX.WebLib.Business.UTB_WEB_CODE_PROJSRC
bll
=
SlowX.WebLib.Business.UTB_WEB_CODE_PROJSRC.instance;
SlowX.WebLib.Entity.UTB_WEB_CODE_PROJSRC
entity
=
new SlowX.WebLib.Entity.UTB_WEB_CODE_PROJSRC();
ISaveDriver isave = entity;
long newId = 0;
foreach (SlowX.WebLib.Model.UTB_WEB_CODE_READSRC
model in theList)
{
newId = bll.GetNewLongID(xdbHelper);
isave.ClearAllISaveItem();
isave.AddISaveItem(entity._ID, newId);
isave.AddISaveItem(entity._TheName, model.TheName);
isave.AddISaveItem(entity._TheCode, model.TheCode);
isave.AddISaveItem(entity._Description, model.Description);
isave.AddISaveItem(entity._EmItemStatusV, model.EmItemStatusV);
isave.AddISaveItem(entity._EmShowPowerV, model.EmShowPowerV);
isave.AddISaveItem(entity._MetaKeywords, model.MetaKeywords);
isave.AddISaveItem(entity._MetaDescription, model.MetaDescription);
isave.AddISaveItem(entity._Hits, model.Hits);
isave.AddISaveItem(entity._HitTime, model.HitTime);
isave.AddISaveItem(entity._HitIp, model.HitIp);
isave.AddISaveItem(entity._HitIpAddress, model.HitIpAddress);
isave.AddISaveItem(entity._Remark, model.Remark);
isave.AddISaveItem(entity._CreateTime, model.CreateTime);
isave.AddISaveItem(entity._UpdateTime, model.UpdateTime);
bll.Insert(entity, xdbHelper);
WebCodeReadSrcUpdateProjSrc_Id(model.ID, newId, xdbHelper);
++theResult;
}
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnClick(object sender, EventArgs e)
{
try
{
int theResult = GOClick(null);
Response.Write("OK = " + theResult.ToString());
}
catch (Exception err)
{
Response.Write(err.Message);
}
}
上一条:
下一条:
相关评论
发表评论