Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de récupération d'information via un WebService

4 réponses
Avatar
REZENTHEL Christophe
Bonjour à tous,

Voila, j'ai un petit souci.
Je suis en train de faire mon 1er WebService et je rencontre un problème.

Le WebService me permet d'executer des requêtes

Public Class Acces_Base_Support :Inherits WebService
'Déclaration de la chaine de connexion
Dim Acces_Base_Pai as string = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=127.0.0.1;" & _
"DATABASE=........;" & _
"UID=.......;" & _
"PASSWORD=.........;" & _
"OPTION=3;"

Public BaseSupport_Pai as OdbcConnection
Public Msg_Connexion as string

Function Etat_Connexion_Base_Pai as boolean
Try
BaseSupport_Pai.Open()
Catch ex As Exception
Etat_Connexion_Base_Pai = False
Msg_Connexion = ex.message
Finally
Etat_Connexion_Base_Pai = True
End Try
End Function

<WebMethod(Description:="Récupération des informations demandé via la
requête sur la Base")> _
Public Function Execute_Requete_Base_Pai(Requete As String,Table_Choisi
as string) as DataSet
BaseSupport_Pai = New OdbcConnection(Acces_Base_Pai)
Dim Tableau as new DataSet
If Etat_Connexion_Base_Pai = True then
Try
Dim myReader As new OdbcDataAdapter(Requete,
BaseSupport_Pai)
myReader.Fill(Tableau,"login")
Return Tableau
Catch ex as Exception
..........
End Function
End Class

La compilation se fait sans probleme.
Ensuite je l'appel dans ma page .aspx

sub Page_Load(Obj as Object, E as EventArgs)
Dim mb as new Acces_Base_Support
Dim Requete as string = "Select * From login"
Dim tab_recup as new DataSet

Try
DataGrid1.DataSource = mb.Execute_Requete_Base_Pai(Requete)
DataGrid1.DataBind()
Catch ex as Exception
Label1.text = Ex.Message
End Try
end sub

en retour j'ai:

Prefix HasChildNodes Value HasAttributes NamespaceURI InnerText
InnerXml Name OuterXml BaseURI LocalName IsReadOnly IsEmpty
xs True True http://www.w3.org/2001/XMLSchema xs:schema schema
False False
diffgr True True urn:schemas-microsoft-com:xml-diffgram-v1
Informations concernant les profils de la Table Informations concernant les
profils de la Table diffgr:diffgram Informations concernant les profils de
la Table diffgram False False

Comment faire pour ne récupérer que les informations de la table sans avoir
les reste des informations du XML génerer?

Merci d'avance à vous tous,

4 réponses

Avatar
REZENTHEL Christophe
Petite correction de mise en forme! :o)

Le WebService me permet d'executer des requêtes

Public Class Acces_Base_Support :Inherits WebService
'Déclaration de la chaine de connexion
Dim Acces_Base_Pai as string = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER7.0.0.1;" & _
"DATABASE=........;" & _
"UID=.......;" & _
"PASSWORD=.........;" & _
"OPTION=3;"

Public BaseSupport_Pai as OdbcConnection
Public Msg_Connexion as string

Function Etat_Connexion_Base_Pai as boolean
Try
BaseSupport_Pai.Open()
Catch ex As Exception
Etat_Connexion_Base_Pai = False
Msg_Connexion = ex.message
Finally
Etat_Connexion_Base_Pai = True
End Try
End Function

<WebMethod(Description:="Récupération des informations demandé via la
requête sur la Base")> _
Public Function Execute_Requete_Base_Pai(Requete As String,Table_Choisi
as string) as DataSet
BaseSupport_Pai = New OdbcConnection(Acces_Base_Pai)
Dim Tableau as new DataSet
If Etat_Connexion_Base_Pai = True then
Try
Dim myReader As new OdbcDataAdapter(Requete,
BaseSupport_Pai)
myReader.Fill(Tableau,"login")
Return Tableau
Catch ex as Exception
..........
End Function
End Class

La compilation se fait sans probleme.
Ensuite je l'appel dans ma page .aspx

sub Page_Load(Obj as Object, E as EventArgs)
Dim mb as new Acces_Base_Support
Dim Requete as string = "Select * From login"
Dim tab_recup as new DataSet

Try
DataGrid1.DataSource = mb.Execute_Requete_Base_Pai(Requete)
DataGrid1.DataBind()
Catch ex as Exception
Label1.text = Ex.Message
End Try
end sub

en retour j'ai:

Prefix HasChildNodes Value HasAttributes NamespaceURI InnerText
InnerXml Name OuterXml BaseURI LocalName IsReadOnly IsEmpty
xs True True http://www.w3.org/2001/XMLSchema xs:schema schema
False False
diffgr True True urn:schemas-microsoft-com:xml-diffgram-v1
Informations concernant les profils de la Table Informations concernant les
profils de la Table diffgr:diffgram Informations concernant les profils de
la Table diffgram False False

Comment faire pour ne récupérer que les informations de la table sans avoir
les reste des informations du XML génerer?

Merci d'avance à vous tous,
Avatar
Vincent Poyo
Est ce que ta webMethod Execute_Requete_Base_Pai retourne quelque chose en
cas d'exception levée ?

Il me semble d'ailleurs que j'avais eu un problème si le webService
renvoyait une valeur nulle
Tu peux essayer de débugguer directement le webservice en faisait un click
droit sur le projet / Débugguer / Démarrer une nouvelle instance



"REZENTHEL Christophe" a écrit le message de news:
42a345cf$0$30666$
Avatar
REZENTHEL Christophe
Je travail avec WebMatrix.
Il y a cette option?

"Vincent Poyo" a écrit dans le message de news:

Est ce que ta webMethod Execute_Requete_Base_Pai retourne quelque chose en
cas d'exception levée ?

Il me semble d'ailleurs que j'avais eu un problème si le webService
renvoyait une valeur nulle
Tu peux essayer de débugguer directement le webservice en faisait un click
droit sur le projet / Débugguer / Démarrer une nouvelle instance



"REZENTHEL Christophe" a écrit le message de news:
42a345cf$0$30666$



Avatar
Vincent Poyo
Dsl je connais pas l'environnement WebMatrix :(
mais essaye de faire un return New Dataset() dans ton bloc catch

"REZENTHEL Christophe" a écrit dans le message de news:
42a45326$0$30659$
Je travail avec WebMatrix.
Il y a cette option?

"Vincent Poyo" a écrit dans le message de news:

Est ce que ta webMethod Execute_Requete_Base_Pai retourne quelque chose
en cas d'exception levée ?

Il me semble d'ailleurs que j'avais eu un problème si le webService
renvoyait une valeur nulle
Tu peux essayer de débugguer directement le webservice en faisait un
click droit sur le projet / Débugguer / Démarrer une nouvelle instance



"REZENTHEL Christophe" a écrit le message de news:
42a345cf$0$30666$