SPQuery.Query - Propriété
Obtient ou définit l'interne que XML utilisé dans la requête.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Property Query As String
Get
Set
'Utilisation
Dim instance As SPQuery
Dim value As String
value = instance.Query
instance.Query = value
public string Query { get; set; }
Valeur de propriété
Type : System.String
Chaîne qui contient un fragment en Collaborative Application Markup Language qui définit la requête. La chaîne correspond au code XML interne de l'élément de requête dans le langage CAML, à l'exclusion des balises <Query></Query> ouverture et de fermeture.
Remarques
Avertissement
Vous devez inclure un élément Where . Si vous ne le faites pas, il n'y a aucun message d'erreur, mais chaque élément de la liste est retourné. En plus d'avoir un impact négatif sur les performances, c'est un scénario potentiellement dangereux lorsque votre code apporte une modification à tous les articles retournés.
Exemples
L'exemple de code suivant utilise la propriété Query pour définir une requête qui renvoie les éléments dont les valeurs Field2 sont supérieurs à 1000.
Notes
Pour plus d'informations sur la façon d'utiliser des requêtes de Language-Integrated Query (LINQ) pour récupérer des éléments de liste dans SharePoint Foundation, voir Managing Data with LINQ to SharePoint.
Cet exemple requiert les directives using (Imports dans Microsoft Visual Basic) pour les espaces de noms Microsoft.SharePoint et 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>");
}
}
Notes
Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.