Tester si un DataSet est vide [Résolu]

Signaler
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
-
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
-
Bonjour tout le monde



Tout est dans le titre......

Comment peut-on tester si un DataSet est vide ou même si une certaine ligne existe ou pas...



(j'ai dû le savoir, mais là ça m'embête depuis un certain moment...)



merci d'avance




Nurgle
C'est une grande folie que de vouloir être sage tout seul !

3 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Bon je me suis contenté d'un Try...Catch...End Try



je trouve pas ça très propre comme truc mais j'ai pas mieux pour l'instant...



merci quand même à tout le monde



@+++




Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Salut,
Je pense que c'est cela que tu veux faire...


Public Function datasetIsVide() As Boolean
Dim ds
As DataSet =
New DataSet()
' Pour tester si le DataSet est vide

If ds
Is
Nothing
Then
' Si c'est le cas, on retourne True
Return
True
End
If



Return
False
End
Function



Public
Function ligneIsVide(
ByVal Table
As
Integer)
As
Boolean
Dim ds
As DataSet =
New DataSet

Dim x
As
Integer = Table
' Pour tester si une ligne est vide

If ds.Tables.Item(x)
Is
Nothing
Then
' si c'est le cas, on retourne True
Return
True
End
If



Return
False
End
Function

@ bientôt, Mathieu
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
ça marche toujours pas ( j'ai toujours un System.IndexOutOfRangeException: Aucune ligne à la position 0.)

j'ai une fonction :

Public Function Connexion(Login As String, Password As String) As System.Data.DataSet
Dim Donnees As System.Data.DataSet
'...
'je me connecte à la base et je récuère le DataSet dans "Donnees"
' avec "Select * From Users Where login='" & Login & "' and password='" &_ Password & "' "

If Donnees.Tables.Item(0) Is Nothing Then 'j'ai mis ton truc...
Return Nothing
Else
If Donnees.Tables("Users").Rows(0).Item("Valid") = "1" Then
Return Donnees
Else
Return Nothing
End If
End If
End Function

ça me renvoie donc le dataSet si il existe bien une première ligne avec un champ valid égal à 1.
Seul problème : le Donnees.Tables.Item(0) que tu m'as donné ne change rien...en gros quand le Select ne renvoie rien, eh bien il n'y a pas de ligne 0 et donc ça plante.

Je suis sûr que ça doit être tout con......et que j'y ai pas pensé...

Nurgle
C'est une grande folie que de vouloir être sage tout seul !