Share via


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.

Voir aussi

Référence

SPQuery classe

SPQuery - Membres

Microsoft.SharePoint - Espace de noms