SPQuery.Query-Eigenschaft
Ruft die innere von XML in der Abfrage fest.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Property Query As String
Get
Set
'Usage
Dim instance As SPQuery
Dim value As String
value = instance.Query
instance.Query = value
public string Query { get; set; }
Eigenschaftswert
Typ: System.String
Eine Zeichenfolge mit einem Fragment in Collaborative Application Markup Language , die die Abfrage definiert. Die Zeichenfolge entspricht den inneren XML-Codes des Query -Elements in CAML, ausgenommen die öffnenden und schließenden Tags von <Query></Query> .
Hinweise
Warnung
Sie müssen ein Where -Element enthalten. Wenn Sie dies nicht tun, es wird keine Fehlermeldung angezeigt, aber jedes Element in der Liste zurückgegeben. Neben der Leistung beeinträchtigen, ist dies eine potenziell gefährliche Szenario, wenn Code für jedes zurückgegebene Element eine Änderung vornimmt.
Beispiele
Im folgenden Codebeispiel wird mithilfe die Query -Eigenschaft zum Definieren einer Abfrage, die Elemente zurückgibt, deren Field2 Werte größer als 1000 sind.
Hinweis
Informationen dazu, wie Sie Abfragen (Language-Integrated Query, LINQ) verwenden, um Listenelemente in SharePoint Foundationabzurufen finden Sie unter Managing Data with LINQ to SharePoint.
Dieses Beispiel erfordert using Richtlinien (Imports in Microsoft Visual Basic) für die Namespaces Microsoft.SharePoint und 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>");
}
}
Hinweis
Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.