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

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

Votre réponse

8 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de wassim0285
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de wassim0285
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

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

-- www.kerkennah.karkny.com --

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

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

www.kerkennah.karkny.com

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de wassim0285
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
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.