Affichage du résultat d'une requête dans une zone texte en vb.net [Résolu]

wassim0285 40 Messages postés lundi 23 mars 2009Date d'inscription 11 juin 2010 Dernière intervention - 25 mars 2009 à 08:39 - Dernière réponse : cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 26 mars 2009 à 22:32
3
Merci
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Merci cs_casy 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
wassim0285 40 Messages postés lundi 23 mars 2009Date d'inscription 11 juin 2010 Dernière intervention - 26 mars 2009 à 23:00
3
Merci
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

Merci wassim0285 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de wassim0285
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 26 mars 2009 à 23:07
3
Merci
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)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Merci cs_casy 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
wassim0285 40 Messages postés lundi 23 mars 2009Date d'inscription 11 juin 2010 Dernière intervention - 26 mars 2009 à 23:19
3
Merci
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

Merci wassim0285 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de wassim0285
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 26 mars 2009 à 23:34
3
Merci
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Merci cs_casy 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
wassim0285 40 Messages postés lundi 23 mars 2009Date d'inscription 11 juin 2010 Dernière intervention - 26 mars 2009 à 23:41
3
Merci
Merci encore casy, je vais essayer avec cette solution.

-- www.kerkennah.karkny.com --

Merci wassim0285 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de wassim0285
Meilleure réponse
wassim0285 40 Messages postés lundi 23 mars 2009Date d'inscription 11 juin 2010 Dernière intervention - 27 mars 2009 à 09:24
3
Merci
J'ai essayer avec le code suivant mais ça n'a pas fonctionné:
DataGridView1.DataSource = myreader1

www.kerkennah.karkny.com

Merci wassim0285 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de wassim0285
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 27 mars 2009 à 11:15
0
Merci
J'étais persuadé que ça marchait aussi avec un datareader, apparement non.
tu vas etre onbligé de passer par un dataset et un dataadapter

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.