OVH Cloud OVH Cloud

DataSet et gestion erreur

1 réponse
Avatar
Delf
Bonjour.

Je suis en fasse d'un problème que je n'arrive pas à résoudre :
J'ai un WebService ayant la méthode suivante :

<WebMethod(Description:="Récupérer tous les contacts")> _
Public Function GetContacts() As DataSet

Try

Dim connectionString As String = "DRIVER={MySQL _
ODBC 3.51 Driver};SERVER=" & DBHostname & "; _
DATABASE=" & DBBase & ";UID=" & DBLogin & "; _
PASSWORD=" & DBPassword & ";"

Dim myConnection As New OdbcConnection(connectionString)
Dim myCommand As New OdbcDataAdapter( _
"SELECT * FROM Contacts", myConnection)
Dim myDataSet As New DataSet

myCommand.Fill(myDataSet, "Contacts")

GetContacts = myDataSet
Catch ex As Exception

GetContacts = GetErrorDataSet("Exception : " & ex.Message)
End Try
End Function

Ainsi que :

Private Function GetErrorDataSet(ByVal pErrMessage As String) As DataSet

Try

Dim exDataTable As New DataTable("Errors")

exDataTable.Columns.Add("Message",
_System.Type.GetType("System.String"))

Dim exNewRow As DataRow = exDataTable.NewRow()

exNewRow("Message") = pErrMessage
exDataTable.Rows.Add(exNewRow)

Dim exDataSet As New DataSet("Error")

exDataSet.Tables.Add(exDataTable)

GetErrorDataSet = exDataSet
Catch

Return Nothing
End Try
End Function

Dans la page ASP.NET qui consomme ce WebService, comment faire pour
savoir si la table 'Error' est bien présente dans le DataSet et ainsi,
ne pas afficher de DataGrid mais plutot un message d'erreur (celui
contenu dans la table 'Error').

J'ai essayé avec :

If (getContacts.Tables.Contains("Error")) Then

lblOut.Text = "Erreur : " & 'Récupérer le message d'erreur
[...]

Sans résultat...
Merci d'avance.

--
Delf

1 réponse

Avatar
Delf
Delf wrote:

> [...]

Bon en fait m'étais trompé dans le nom de la table... donc tout est OK.

--
Delf