首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

個人開發框架總結(二):BuildLists 方法實作與分頁查詢條件建構範例

     編輯:關於C語言

BuildLists 完整實作

protected override IList BuildLists(bool isFull)
{
    TCompanIEs list = null;
    try
    {
        var objDAL = (ATCompany)DAFactory.CreateDA(typeof(ATCompany));
        if (!isFull) objDAL.PageArgs = base.PageArgs; // 分頁參數傳遞

        string[] fields = GetInfoFIElds();
        var qb = new QueryBuilder();
        qb.Append(QueryRelation.And, QueryCompare.Equal, TCompany._BaseType, baseType.ToString("D"));
        qb.Append(QueryRelation.And, QueryCompare.Equal, TCompany._IsDelete, 0);
        qb.Append(QueryRelation.And, QueryCompare.Equal, TCompany._ParentId, ContextArgs.Instance.CompanyId);
        if (QueryArgs.TypeId != 0)
            qb.Append(QueryRelation.And, QueryCompare.Equal, TCompany._CompanyTypeId, QueryArgs.TypeId);

        qb += QueryArgs.QueryBuilder; // 合併使用者查詢條件
        list = objDAL.Select(qb, QueryArgs.Order, fields);

        if (!isFull) base.PageArgs = objDAL.PageArgs; // 回寫總筆數等分頁資訊
        objDAL.Dispose();
    }
    catch (Exception e)
    {
        Utility.ShowErrorMessage(e.Message);
    }
    return list;
}

關鍵點:

  1. isFull 控制是否分頁(列印/匯出時為 true)。
  2. QueryBuilder 串接固定條件與動態查詢條件。
  3. 嚴格釋放 objDAL 避免連線洩漏。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved