zoukankan      html  css  js  c++  java
  • SPQuery 查询知多少

    string beginTime = txtFormDate.Text.Trim();//开始时间(用户选择)--查询条件
    string endTime = txtToDate.Text.Trim();//结束时间(用户选择)--查询条件
    string prodNum = txtProdNum.Text.Trim();//商品编码(用户填写)--查询条件
    string shopName = txtShopName.Text.Trim();//门店名称(用户填写)--查询条件
    string queryStr = string.Empty;
    query
    = new SPQuery();
    if (beginTime.Length > 0 && endTime.Length > 0)
    {
    queryStr
    += string.Format(@"<And><Geq><FieldRef Name='SubmitDate'/><Value Type='DateTime'>{0}</Value></Geq>
    <Leq><FieldRef Name='SubmitDate'/><Value Type='DateTime' >{1}</Value></Leq></And>
    ", beginTime, endTime);
    }
    if (beginTime.Length > 0 && endTime.Length <= 0)
    {
    queryStr
    += string.Format("<Geq><FieldRef Name='SubmitDate'/><Value Type='DateTime' >{0}</Value></Geq>", beginTime);
    }
    if (beginTime.Length <= 0 && endTime.Length > 0)
    {
    queryStr
    += string.Format("<Leq><FieldRef Name='SubmitDate'/><Value Type='DateTime' >{0}</Value></Leq>",endTime);
    }
    if (prodNum.Length > 0)
    {
    queryStr
    += string.Format("<Eq><FieldRef Name='ProdNum'/><Value Type='Text'>{0}</Value></Eq>", prodNum);
    }
    if (shopName.Length > 0)
    {
    queryStr
    += string.Format("<Eq><FieldRef Name='ShopName'/><Value Type='Text'>{0}</Value></Eq>", shopName);
    }
    query.Query
    = string.Format("<Where>{0}</Where>", queryStr);

    SPQuery查询语句是以XML格式展现出来的,如下面的例子

    <Query>
      
    <OrderBy>
        
    <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
      
    </OrderBy>
      
    <Where>
        
    <Or>
          
    <Neq>
            
    <FieldRef Name="Status"></FieldRef>  //字段名
            
    <Value Type="Text">Completed</Value> //字段值
          
    </Neq>
          
    <IsNull>
            
    <FieldRef Name="Status"></FieldRef>
          
    </IsNull>
        
    </Or>
      
    </Where>
    </Query>

    现在我用大家熟悉的SQL语法来和它做个比较

    SPQuery SQL
    <Where></Where> Where
    <OrderBy></OrderBy> Order By
    <And></And> And
    <Or></Or> Or
    <Eq></Eq>    =
    <Geq></Geq> >=
    <Gt></Gt> >
    <Leq></Leq> <=
    <Lt></Lt> <
    <Neq></Neq> !=


  • 相关阅读:
    bzoj 3930: [CQOI2015]选数
    bzoj 2301: [HAOI2011]Problem b
    HDU 1695 GCD
    2017ACM/ICPC广西邀请赛-重现赛 1007.Duizi and Shunzi
    2017ACM/ICPC广西邀请赛-重现赛 1010.Query on A Tree
    2017ACM/ICPC广西邀请赛-重现赛 1004.Covering
    P3501 [POI2010]ANT-Antisymmetry
    P1171 售货员的难题
    P3385 【模板】负环
    P1659 [国家集训队]拉拉队排练
  • 原文地址:https://www.cnblogs.com/ahghy/p/2076657.html
Copyright © 2011-2022 走看看