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

VB.NET Discussion :

Récupérer le contenu d'un DataQuery


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 216
    Par défaut Récupérer le contenu d'un DataQuery
    Bien le bonjour à tous !

    Soit une fonction écrite en VB 2008 qui renvoie le premier de l’ordre alphabétique des noms d’auteurs comme celle-ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Function FirstAuteur() As String
                Dim oQuerryResult = From cAut In oScanDataContext.TblAuteurs _
                                    Select cAut.Auteur.FirstOrDefault
     
                Dim ArrayResult = oQuerryResult.ToArray
                Return ArrayResult(0)
            End Function
    Lorsque je converti le DataQuery de résultat en tableau (array), j’ai le message suivant :

    « Opérateurs de séquence non pris en charge pour le type 'System.String' »

    Comment puis-je récupérer le résultat de la requête ?

    Merci d’avance !
    Avec mes sincères salutations,

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    1. Ta requête est incorrecte : si tu veux récupérer le nom du premier auteur, il faut appeler FirstOrDefault sur le résultat de la requête, pas sur Auteur (sinon FirstOrDefault renvoie le premier caractère pour chaque ligne du résultat...).
    2. En utilisant FirstOrDefault, oQuerryResult est un String, et non un ObjectQuery. Donc inutile de chercher à le convertir en Array pour récupérer le premier élément.

    Au final ta méthode devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Function FirstAuteur() As String
                Dim oQuerryResult = (From cAut In oScanDataContext.TblAuteurs _
                                    Select cAut.Auteur).FirstOrDefault
     
                Return oQuerryResult
            End Function

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 216
    Par défaut
    Merci

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

Discussions similaires

  1. [Servlet]Récupérer le contenu d'une page web
    Par Jarodnet dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 06/10/2005, 15h47
  2. Récupérer le contenu de la balise title
    Par roots dans le forum Langage
    Réponses: 2
    Dernier message: 11/09/2005, 16h17
  3. Récupérer le contenu d'un select
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 15h38
  4. [ethereal] récupérer le contenu d'un fichier envoyé ?
    Par in dans le forum Développement
    Réponses: 1
    Dernier message: 19/06/2005, 15h44
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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