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.