Retourner plusieures variables webservice [Résolu]

Messages postés
38
Date d'inscription
mercredi 14 avril 2010
Dernière intervention
2 septembre 2011
- - Dernière réponse : bobertin89
Messages postés
38
Date d'inscription
mercredi 14 avril 2010
Dernière intervention
2 septembre 2011
- 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
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
22
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
22
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
Messages postés
38
Date d'inscription
mercredi 14 avril 2010
Dernière intervention
2 septembre 2011
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
Messages postés
38
Date d'inscription
mercredi 14 avril 2010
Dernière intervention
2 septembre 2011
0
Merci
Merci beaucoup!!!
Je regarde ça cet AM!
Commenter la réponse de bobertin89
Messages postés
38
Date d'inscription
mercredi 14 avril 2010
Dernière intervention
2 septembre 2011
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.