IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Sharepoint .NET Discussion :

[SP-2010] Requete CAML sur UniqueId


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut [SP-2010] Requete CAML sur UniqueId
    Bonjour, j'aimairai retrouver un element de la liste Sharepoint à partir de son GUId

    Pour cela je crée dans mon code une requete CAML, mais elle ne marche pas malheureusement

    Si je la fais sur le champ "ID", elle fonctionne

    (je crée cette requete par le code C# dans mon VisualWebPart)

    Et j'ai besoin d'obtenir une SPListItemCollection (pour mes traitements futurs)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SPQuery query = new SPQuery();
     query.Query = @"<Where>
                         <Eq>
                          <FieldRef Name=""UniqueId""  />
                            <Value Type=""Lookup"">6bc44214-4a76-4a52-82e0-9eb570fb6031</Value>
                            </Eq>
                          </Where>";
    SPList liste = getListe();
    SPListItemCollection items = liste.GetItems(query);

  2. #2
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je crains (pas sur de moi...) que ce n'est pas vraiement un champ, il s'agit plutôt d'une propriété.

    Juste par curiosité, pourquoi chercher un élément par son guid ? Cela ne te complique pas la tâche ?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  3. #3
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Citation Envoyé par Pingva Voir le message
    Bonjour, j'aimairai retrouver un element de la liste Sharepoint à partir de son GUId

    Pour cela je crée dans mon code une requete CAML, mais elle ne marche pas malheureusement

    Si je la fais sur le champ "ID", elle fonctionne

    (je crée cette requete par le code C# dans mon VisualWebPart)

    Et j'ai besoin d'obtenir une SPListItemCollection (pour mes traitements futurs)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SPQuery query = new SPQuery();
     query.Query = @"<Where>
                         <Eq>
                          <FieldRef Name=""UniqueId""  />
                            <Value Type=""Lookup"">6bc44214-4a76-4a52-82e0-9eb570fb6031</Value>
                            </Eq>
                          </Where>";
    SPList liste = getListe();
    SPListItemCollection items = liste.GetItems(query);
    Soit le nom n'est pas bon, UniqueId, soit le format de données n'est pas bon. M'enfin le plus simple est surement de créer une colonne de type text en readonly & hidden, et de taper dedans. Dans cette colonne tu mettera un nouveau guid
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  4. #4
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par ludojojo Voir le message
    Juste par curiosité, pourquoi chercher un élément par son guid ? Cela ne te complique pas la tâche ?
    Merci
    Parce qu'il me faut une propriété qui identifie un element de ma liste de façon unique.

    Avec la propriété "ID" ça fonctionne pas très bien, parfois je trouve l'lelement, parfois j'ai une erreur (par compris exactement pourquoi)

    Lapinpanda merci pour l'dée !

    readonly & hidden pas besoin, car les utilisateurs n'auront pas accès à la page classique Sharepoint. Je crée un webpart à partir duquel ils la mettront à jour, donc je gère mes champs comme je veux

  5. #5
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Pingva Voir le message
    Parce qu'il me faut une propriété qui identifie un element de ma liste de façon unique. [...] readonly & hidden pas besoin, car les utilisateurs n'auront pas accès à la page classique Sharepoint. Je crée un webpart à partir duquel ils la mettront à jour, donc je gère mes champs comme je veux
    Pourquoi ne pas utiliser un simple champ que tu incrémentes automatiquement ?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  6. #6
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Citation Envoyé par ludojojo Voir le message
    Pourquoi ne pas utiliser un simple champ que tu incrémentes automatiquement ?
    Le problème de ce genre de solution, qui semble "simple & génial", c'est l'accès concurrentiel.

    Un Guid est plus safe que de vérifier qu'on se plante pas dans l'incrémentation avec des update simultanées de nombreux utililisateurs.
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  7. #7
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    En effet, tout dépend de la charge d'utilisation de la liste...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  8. #8
    Membre régulier Avatar de Pingva
    Profil pro
    Inscrit en
    Août 2004
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 190
    Points : 78
    Points
    78
    Par défaut
    Merci encore pour vos reponses
    Nous avous trouvé une solution sans la requête CAML : je recherche un element qu'il me faut avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SPList listeSharepoint = getListe();
    List<SPListItem> maListe= new List<SPListItem>();
    maListe.Add(listeSharepoint.Items[new Guid(id)]);  // id esr recu en paramètres
    j'avais besoin d'une liste avec un seul item, car c'est une source de Repeater

  9. #9
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Pingva Voir le message
    Merci encore pour vos reponses
    Nous avous trouvé une solution...
    Dans ce cas pense à la balise
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete ASP sur Base SQL
    Par smast2005 dans le forum ASP
    Réponses: 8
    Dernier message: 22/02/2005, 11h03
  2. Ecrire une requete SQL sur plusieurs lignes
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 15/11/2004, 14h47
  3. requete sql sur un grand nombre d enregistrement
    Par marielaure dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/08/2004, 11h53
  4. Réponses: 2
    Dernier message: 03/05/2004, 12h13
  5. Requete imbriquée sur Firebird ou Interbase
    Par Thib dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 09h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo