wassim0285
Messages postés40Date d'inscriptionlundi 23 mars 2009StatutMembreDernière intervention11 juin 2010
-
25 mars 2009 à 08:39
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
27 mars 2009 à 11:15
Je suis encore débutant en vb.net, je veut afficher le résultat de la requête suivante (select ref_produit from produit where ref_produit =1) dans une zone textbox
merci d'avance
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 mars 2009 à 22:32
J'imagine que tu sais te connecter à une base de donnée. Si ce n'est pas le cas, je t'invite à regarder les différentes sources qui traitent du sujet, ici, ou sur le net, ainsi que divers tutoriaux.
Dans le cas présent, il te faut donc un objet connection, un objet commande.
Dans ton cas, tu utilisera plutot la méthode ExecuteScalar de ton objet commande
ExecuteScalar te renvoie la première colonne de la première ligne du jeu de résultat renvoyé par ta requette. Il ne te restera plus qu'à mettre cela dans ta textbox.
wassim0285
Messages postés40Date d'inscriptionlundi 23 mars 2009StatutMembreDernière intervention11 juin 2010 26 mars 2009 à 23:00
Merci bien pour cette réponse.
Je veux vous informer que j'ai déja trouver une solution qui est la suivante:
Try
Dim comm As New SqlCommand
comm.CommandText="Select ref_pr from produit where ref_pr=21"
comm.Connection=Connexion 'connection est le nom de la connexion
Dim myreader as SqlDataReader=comm.Executereader
Dim vt As String
If myreader.Read then
vt=myreader(0).ToString
TextBox.Text=vt
End If
myreader.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 mars 2009 à 23:07
Tout à fait, c'est valable
L'utilite de la méthode ExecuteScalar, c'est que ton code pourrait s'écrire comme ceci :
Try
Dim comm As New SqlCommand
comm.CommandText="Select ref_pr from produit where ref_pr=21"
comm.Connection=Connexion 'connection est le nom de la connexion
TextBox.Text=comm.ExecuteScalar
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Ou, si tu as un message d'erreur
TextBox.Text=CType(comm.ExecuteScalar,string)
wassim0285
Messages postés40Date d'inscriptionlundi 23 mars 2009StatutMembreDernière intervention11 juin 2010 26 mars 2009 à 23:19
merci casy, comme ça le code devient plus court et plus compréhensible.
mais j'ai un autre probléme qui est le suivant:
Je veut remplir un datagridview apartir de la requête suivante:
"select ref-pr, lib_pr, qte_pr from produit"
sans passer par le dataset
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 mars 2009 à 23:34
Si c'est uniquement pour de l'affichage, tu peux utiliser le datareader.
Tu le remplie avec la méthode ExecuteReader comme dans ton code.
Il ne te reste qu' l'associé à la propriété DataSource de ta DataGridView et normalement il devrait s'afficher tout seul.
Il faudra peut-etre au préalable vider la DGV, je crois qu'il existe une méthode Clear ou un genre comme ça.