SDQ的示例介绍(1)

来源:互联网 发布:pc录音软件 编辑:程序博客网 时间:2024/04/28 17:32

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();
}

 

 

 

 

 

 

原创粉丝点击