Retourner plusieures variables webservice [Résolu]

bobertin89 38 Messages postés mercredi 14 avril 2010Date d'inscription 2 septembre 2011 Dernière intervention - 3 févr. 2011 à 13:24 - Dernière réponse : bobertin89 38 Messages postés mercredi 14 avril 2010Date d'inscription 2 septembre 2011 Dernière intervention
- 4 févr. 2011 à 11:57
Bonjour à tous,
débutant en .net, je souhaite créer un webservices retournant plusieures variables.
Je suis dans visual studio (en vb).
Dans l'exemple ci-dessous, je voudrais que le service renvoi le nom et le prenom dans deux variables différentes ou dans un tableau...mais je n'y arrive pas...
 <System.Web.Services.WebMethod()>
    Public Function connexion(ByVal login As String, ByVal pass As String) As String
        Dim retour As String
        Dim cnx As New SqlConnection
        cnx = New SqlConnection(ConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
        cnx.Open()
        Dim cmd As New SqlCommand
        cmd.Connection = cnx
        cmd.CommandText = "SELECT nom, prenom FROM utilisateur WHERE login='" & login & "' AND pass='" & pass & "'"
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            retour = "vous etes : " & dr.Item("nom").ToString
        Else
            retour = "saisie incorrecte"
        End If
        Return retour

    End Function

Merci d'avance pour le coup de patte...
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 4 févr. 2011 à 11:24
3
Merci
Voila grosso modo, un code qui met en place le principe (non testé)

'Dans ta methode
<System.Web.Services.WebMethod()>
    Public Function connexion(ByVal login As String, ByVal pass As String) As Personne
       
        Dim cnx As New SqlConnection
        cnx = New SqlConnection(ConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
        cnx.Open()
        Dim cmd As New SqlCommand
        dim personne as new Personne()
        cmd.Connection = cnx
        cmd.CommandText = "SELECT nom, prenom FROM utilisateur WHERE login='" & login & "' AND pass='" & pass & "'"
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            personne.Nom = dr.Item("nom").ToString
            personne.Prenom = dr.Item("prenom").ToString
        Else
            retour.Nom = "saisie incorrecte"
        End If
        Return personne

    End Function

'dans une classe du meme namspace
Public Class Personne

    Private _Nom As String
    Private _Prenom As String


#Region "Liste Propriétés de la Classe"
    Public Property Nom() As String
        Get
            Return _Nom
        End Get
        Set(ByVal Value As String)
            _Nom = Value
        End Set
    End Property

    Public Property Nom() As String
        Get
            Return _Prenom 
        End Get
        Set(ByVal Value As String)
            _Prenom = Value
        End Set
    End Property

Merci nhervagault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 70 internautes ce mois-ci

Commenter la réponse de nhervagault
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 4 févr. 2011 à 10:28
0
Merci
Salut,

Il faut retourner une classe

Public Function connexion(ByVal login As String, ByVal pass As String) As Personne

et le tour est joué.
Commenter la réponse de nhervagault
bobertin89 38 Messages postés mercredi 14 avril 2010Date d'inscription 2 septembre 2011 Dernière intervention - 4 févr. 2011 à 11:16
0
Merci
Salut nhervagault,
d'abord merci pour ta réponse mais je ne vois pas bien comment m'y prendre (je débute vraiment en .net, je ne faisais que du php assez simple pour des petits site)...
Pourrais-tu me mettre un petit exemple de la classe personne (un truc vite fait pour comprendre le principe...)stp?

Merci d'avance
Commenter la réponse de bobertin89
bobertin89 38 Messages postés mercredi 14 avril 2010Date d'inscription 2 septembre 2011 Dernière intervention - 4 févr. 2011 à 11:43
0
Merci
Merci beaucoup!!!
Je regarde ça cet AM!
Commenter la réponse de bobertin89
bobertin89 38 Messages postés mercredi 14 avril 2010Date d'inscription 2 septembre 2011 Dernière intervention - 4 févr. 2011 à 11:57
0
Merci
Je viens de tester et c'est nikel(en réadaptant un peu).
Mille merci nhervagault!!!
Commenter la réponse de bobertin89

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.