SDQ的樣本介紹(1)

來源:互聯網
上載者:User

1. 本例通過SDQ及資料表模型內建的查詢功能,對資料進行查詢並將結果綁定組一個控制項

本例環境:
1.ASP.NET 2.0,VS.NET 2005
2.在一個頁面裡有一個DataGrid(GroupList) 

SDQ裡有兩個概念將用到:
1.SQRun
2.資料表模型(如:BCF_FBT_Group)

//1.使用資料表模型,進行快速的、簡單的查詢
//
public void Bind11() //實現與[Bind21()]同樣的效果
...{
    GroupList.DataSource = BCF_FBT_Group.M.Select();//1.%%%%快速查詢,並擷取結果%%%%
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();
}

 

//2.使用資料表模型,進行執行有條件的查詢
//
public void Bind12() //實現與[Bind22()]同樣的效果
...{
    //2.%%%%通過條件構建器[WhereBuilder]定製查詢條件
    //

    BCF_FBT_Group group = new BCF_FBT_Group();

    group.Where(BCF_FBT_Group.M.In_Level == 2)
         .And(BCF_FBT_Group.M.PG_Code == Request.QueryString["CODE"]);

    GroupList.DataSource = group.Select();//快速查詢,並獲結果
    GroupList.DataTextField = group.PG_Code.Name;
    GroupList.DataValueField = group.CN_Name.Name;
    GroupList.DataBind();

}

  

//1.使用 SQRun(SDQ 查詢引擎) 進行最基礎的資料查詢
//
public void Bind21()
...{
    SQRun SQ = new SQRun();

    //1.%%%%確定要查詢的表源%%%%
    //
    SQ.From(BCF_FBT_Group.M);

    GroupList.DataSource = SQ.Select();//最後執行查詢,並擷取資料
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();
}

  

 

//2.使用SQRun 有條件過濾的資料查詢
//
public void Bind22()
...{
    SQRun SQ = new SQRun();

    //確定要查詢的表源
    //
    SQ.From(BCF_FBT_Group.M);
    
    //2.%%%%使用SQ,對資料進行過濾%%%%
    //
    SQ.Where(BCF_FBT_Group.M.In_Level == 2)
      .And(BCF_FBT_Group.M.PG_Code == Request.QueryString["CODE"]);

    GroupList.DataSource = SQ.Select();//最後執行查詢,並擷取資料
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();

    //也可以寫成:GroupList.DataSource = SQ.Where(...).And(...).Select()
}

 

 

//3.使用SQRun 進行有排序的資料查詢
//
public void Bind23()
...{
    SQRun SQ = new SQRun();

    //確定要查詢的表源
    //
    SQ.From(BCF_FBT_Group.M);
    
    //使用SQ,對資料進行過濾
    //
    SQ.Where(BCF_FBT_Group.M.In_Level == 2)
      .And(BCF_FBT_Group.M.PG_Code == Request.QueryString["CODE"]);

    //3.%%%%使用SQ,可以支援更複要的排序功能%%%%
    //
    SQ.OrderBy(BCF_FBT_Group.M.PG_Code);

    GroupList.DataSource = SQ.Select();//最後執行查詢,並擷取資料
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();
}

 

//4.使用SQRun 執行多表關聯的查詢複雜查詢
//
public void Bind24()
...{
    SQRun SQ = new SQRun();

    //確定要查詢的表源
    //
    SQ.From(BCF_FBT_Group.M);
    
    //4.%%%%使用SQ,對資料進行多表關聯查詢%%%%
    //
    SQ.Join(BCF_SNT_Resource_Linked.M, JoinType.InnerJoin)
      .On(BCF_FBT_Group.M.PGID == BCF_SNT_Resource_Linked.M.LK_OBJT_ID)
      .And(BCF_SNT_Resource_Linked.M.LK_OBJT == "D");

    //使用SQ,對資料進行過濾
    //
    SQ.Where(BCF_FBT_Group.M.In_Level == 2)
      .And(BCF_FBT_Group.M.PG_Code == Request.QueryString["CODE"]);

    //使用SQ,可以支援更複要的排序功能
    //
    SQ.OrderBy(BCF_FBT_Group.M.PG_Code);

    GroupList.DataSource = SQ.Select();//最後執行查詢,並擷取資料
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();
}

 

 

// 與Bind24()同
//
public void Bind24_1()
...{
    SQRun SQ = new SQRun();


    DataTable dt =  SQ.From(BCF_FBT_Group.M)
                      .Join(BCF_SNT_Resource_Linked.M, JoinType.InnerJoin)
                        .On(BCF_FBT_Group.M.PGID == BCF_SNT_Resource_Linked.M.LK_OBJT_ID)
                        .And(BCF_SNT_Resource_Linked.M.LK_OBJT == "D")
                      .Where(BCF_FBT_Group.M.In_Level == 2)
                        .And(BCF_FBT_Group.M.PG_Code == Request.QueryString["CODE"])
                      .OrderBy(BCF_FBT_Group.M.PG_Code)
                      .Select();

    GroupList.DataSource = dt;
    GroupList.DataTextField = BCF_FBT_Group.M.PG_Code.Name;
    GroupList.DataValueField = BCF_FBT_Group.M.CN_Name.Name;
    GroupList.DataBind();
}

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.