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

Services Web Discussion :

[VB.Net] Comment renvoyer un SQLDataReader par un service Web ?


Sujet :

Services Web

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [VB.Net] Comment renvoyer un SQLDataReader par un service Web ?
    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        Public Sub OuvrirConnexion()
            SqlConnection1.Open()
        End Sub
        Public Sub FermerConnexion()
            SqlConnection1.Close()
        End Sub
        <WebMethod()> Public Function GetPLanning(ByRef Madate As DateTime) As SqlDataReader
            Dim StrRequete As String
            Dim drPLanning As SqlDataReader
     
     
            StrRequete = "SELECT PRENDRERDV.NumEleve, PRENDRERDV.NumMoniteur, PRENDRERDV.NumService FROM PRENDRERDV" ' WHERE PRENDRERDV.DateRDV =" & Madate & ";"
     
     
            Dim cmdSelect As New SqlCommand
            With cmdSelect
                .Connection = SqlConnection1
                .CommandType = CommandType.Text
                .CommandText = StrRequete
     
                OuvrirConnexion()
     
                drPLanning = .ExecuteReader()
            End With
            FermerConnexion()
            Return drPLanning
        End Function


    L'éxécution ne retourne aucune erreur pourtant la page sous IE m'affiche :
    "La référence d'objet n'est pas définie à une instance d'un objet."
    Si je fais passer un string par la fonction, tout fonctionne, mais pas avec le SQLDataReader.

    Quelqu'un aurait une id SVP ???

    [Balise [Code] ajoutée par freegreg]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut, bienvenue sur le forum de developpez.com

    et tag [ASPX] please : Merci de (re)lire les Règles du Forum et les Règles du Forum DotNET

    Merci d'avance....
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Désolé

  4. #4
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Je ne suis pas un grand spécialistes des services web, mais je me permet deux petites remarques :

    Renvoyer un DataReader est à mon avis une erreur, car cela voudrait dire que c'est au client (celui qui consomme le service web) de fermer la connection...

    A partir du moment ou tu fermes ta connection avec ton FermerConnexion(), ton DataReader est détruit...
    Un DataReader est lié de manière exclusive à une connection, il ne stocke pas les données qu'il lit...

    Tu devrais utiliser un DataSet, c'est fait pour...

    Au passage, tu peux sans autre supprimer tes Sub OuvrirConnexion et FermerConnexion, elles sont juste inutiles.
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci bcq, ca marche maintenant !!!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/08/2006, 18h57
  2. Réponses: 2
    Dernier message: 27/04/2006, 15h22
  3. [VB.NET] Comment remplacer une couleur par une autre?
    Par jazz matazz dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/02/2006, 14h29
  4. Réponses: 1
    Dernier message: 13/01/2006, 14h18
  5. [VB.Net]Comment recuperer un Control par le Type et le nom ?
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/12/2005, 11h10

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