caroliina
Messages postés42Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention28 novembre 2006
-
26 déc. 2005 à 18:44
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
28 déc. 2005 à 17:43
Bonsoir tt le monde et
Bonne Annee a tous
:),
d'habitude quand je veux faire une recherche d'une ligne dans une table, je fais une recherche a l'aide d'une boucle for ou autres.
mais je veux savoir si il existe une methode qui me permet de parcourir toutes les lignes de la table en VB.Net.
metci d'avance.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 26 déc. 2005 à 22:00
Salut
Pour n'envoyer qu'une seul ligne d'une datatable.
Il faut utilisé une requete
ou la methode select de la datatable
exemple
Dim dtr as datarow() = madatable.select("id=" + num_id )
if dtr.lentgth = 0 then
pas d'enregistrement
else id dtr.length = 1 then
un seul enregistrement OK
return directcast(dtr(0),Personne) 'on conciderant que tu travaille avec des personnes ;-)
else '> 1
plus d'un enregistrement ou KO on fonction du traitement
end if
le select un puissant car tu peux faire des datacolums expression
du genre like, substring, parent, child ....
vas voir msdn pour cela datacolumnexpression
et le deuxieme paramètre est l'ordre de sortie
ex dernier traitemement ressuit string.empty,"DATE_FIN DESC"
C'est tres puissant et dans c#3 ca le sera encore plus ;-)
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 28 déc. 2005 à 14:14
Salut,
Ok ici tu as un probleme de construction.
public Function recherche(byval pNum_resa as int32, byref pReservation as reservation) as string
Dim dtr As DataRow() = mytable.Select("numreservation=" & pNum_resa)
If dtr.Length = 0 Then
MsgBox("il n'y a pa d'enregistrement correspendant")
Return String.empty
ElseIf dtr.Length = 1 Then
pReservation = DirectCast(dtr(0), reservation)
Return pReservation.nom 'un string
End If
End Function
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim resa as reservation
TextBox1.Text = recherche(2,resa)
'tu peux ensuite travaillé sur l'objet resa directement
'c'est un parametre de sortie
'textbox1.text = vide si pas d'enregistrement
'textbox1.text = nom resa sinon
le plus propre c'est
Dim resa as reservation
recherche(2,resa) 'pas de fonction mais une méthode
ou
resa = Reservation.recherche(2) 'En function statique la c'est la top.
ou
Reservation.recherche(2,resa) 'en methode statique de la classe reservation
TextBox1.Text = resa.nom
End Sub
C'est comme tu le sens, il faut s'habituer à la programmation objet ;-)