Compartilhar via


SPQuery.Query property

Obtém ou define interno que XML usado na consulta.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Property Query As String
    Get
    Set
'Uso
Dim instance As SPQuery
Dim value As String

value = instance.Query

instance.Query = value
public string Query { get; set; }

Property value

Type: System.String
Uma seqüência de caracteres que contém um fragmento Collaborative Application Markup Language que define a consulta. A seqüência de caracteres corresponde ao XML interno do elemento de consulta CAML, excluindo as marcas de abertura e fechamento <Query></Query> .

Comentários

Aviso

Você deve incluir um elemento Where . Se você não fizer isso, não há nenhuma mensagem de erro, mas cada item na lista é retornada. Além de afetar negativamente o desempenho, esta é uma situação potencialmente perigosa quando seu código faz uma alteração para cada item devolvido.

Examples

O exemplo de código a seguir usa a propriedade Query para definir uma consulta que retorna os itens cujos valores de Field2 são maiores que 1000.

Dica

Para obter informações sobre como usar consultas Language-Integrated Query (LINQ) para recuperar itens de lista em SharePoint Foundation, consulte Managing Data with LINQ to SharePoint.

Este exemplo requer diretivas de using (Imports no Microsoft Visual Basic) para os namespaces Microsoft.SharePoint e Microsoft.SharePoint.Utilities .

Dim webSite As SPWeb = SPContext.Current.Site.RootWeb
Try
    Dim list As SPList = webSite.Lists("List_Name")

    Dim query As New SPQuery()
    query.ViewFields = "<FieldRef Name='Field1'/>" + _
        "<FieldRef Name='Field2'/>"
    query.Query = "<Where><Geq><FieldRef Name='Field2'/>" + _
        "<Value Type='Number'>1000</Value></Geq></Where>"
    Dim items As SPListItemCollection = list.GetItems(query)

    Dim item As SPListItem
    For Each item In  items
        Response.Write((SPEncode.HtmlEncode(item.Xml) + "<BR>"))
    Next item
Finally
    webSite.Dispose()
End Try
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
{
    SPList oList = oWebsiteRoot.Lists["List_Name"];

    SPQuery oQuery = new SPQuery();
    oQuery.ViewFields = "<FieldRef Name='Field1'/>" + 
        "<FieldRef Name='Field2'/>";
    oQuery.Query = "<Where><Geq><FieldRef Name='Field2'/>" +
        "<Value Type='Number'>1000</Value></Geq></Where>";
    SPListItemCollection collListItems = oList.GetItems(oQuery);

    foreach (SPListItem oListItem in collListItems)
    {
        Response.Write(SPEncode.HtmlEncode(oListItem.Xml) + "<BR>");
    }
}

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Ver também

Referência

SPQuery class

SPQuery members

Microsoft.SharePoint namespace