SQL et datagridview [VB 2008 Express] [Résolu]

cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 16 sept. 2009 à 23:20 - Dernière réponse : dorra004 9 Messages postés vendredi 25 février 2011Date d'inscription 22 mars 2011 Dernière intervention
- 7 mars 2011 à 23:58
Bonsoir,

Etant débutant en VB2008 Express,

Je n'arrive pas trouver la syntaxe pour remplir une DataGridView avec le résultat d'une requète SQL du
genre : SELECT ..... FROM ..... WHERE....

Le but étant de filtrer les données d'une table et d'afficher le résultat dans une DataGridView.

Merci d'avance.
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 19 sept. 2009 à 11:13
3
Merci
Bonjour,

Effectivement Mayzz, j'ai pris cette solution pour effectuer mon filtre, j'ai trouver cette solution hier soir,

j'ai effectivement créer une nouvelle procédure avec le filtre souhaité puis j'ai effectivement utilisé le
SmartTag pour charger la base dans mon DataGridView, aucune ligne de code à taper, c'est magique :)

il a juste fallu que je modifie la ligne de code généré automatiquement pour appelé ma nouvelle procédure ce qui donne:

'Ligne de code généré automatiquement :
Me.Soins_effecTableAdapter.Fill(Me.Gestion_clientèle.Soins_effec)

'Ligne de code modifiée pour appliquer le filtre créer
Me.Soins_effecTableAdapter.FillBy(Me.Gestion_clientèle.Soins_effec, Tri_Nom_Client, Tri_Prenom_client)

'FillBy étant la procédure que j'ai créer




Merci à vous deux pour aide,

Merci cedricbollini 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cedricbollini
dp_favresa 132 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2010 Dernière intervention - 17 sept. 2009 à 15:15
0
Merci
Bonjour,

J'utilise la méthode suivante :
Dim Vue As New DataView(dsBL.Tables("DREF"))
DataGridView.DataSource = Vue

où dsBL est le nom de ma variable "DataSet" et
"DREF" est le nom de ma table venant de la clause FROM

Pour faciliter la lecture, je formate aussi le DataGridView
'    Taille de police
Dim Fo As New System.Drawing.Font("Arial", 10)
DataGridView.Font = Fo
'    Fixer la largeur de colonne
DataGridView.Columns(0).Width = 100
'    En-tête de colonne (titre)
DataGridView.Columns(0).HeaderText = "Dossier"

J'espère que cela te conviendra

Cordiales salutations et bonne prog
dp
Commenter la réponse de dp_favresa
cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 17 sept. 2009 à 21:49
0
Merci
Bonsoir,

merci pour ta réponse dp_favresa,

désolé mais malgrès ton aide je n'arrive toujours à faire ce que je veux,

Je n'ai peut être pas assez détaillé mon problème,

je vais donc essayé d'être plus précis :

j'ai une requête SQL que j'ai créer sous VB2008
qui à pour syntaxe GetDataBy(@Nom_client,@Prénom_client) qui correspond en fait à la requête suivante :

SELECT Date, Num_facture, Nom_client, Prenom_client, Soin, Type_soin, Observation, D, M
FROM Soins_effec
WHERE (Nom_client LIKE @Nom_client) AND (Prenom_client LIKE @Prénom_client)

C'est le résultat de cette requête que je voudrais afficher dans une DataGridView,
mais malgrès ton aide , je ne vois toujours pas comment faire.

merci d'avance
Commenter la réponse de cedricbollini
dp_favresa 132 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2010 Dernière intervention - 18 sept. 2009 à 07:34
0
Merci
Bonjour,

Il semble que nous n'utilisons pas la même méthode.
Les résultats de mes requêtes sont stockés dans des DataSet.
Qu'en est-il de ton côté ?

Cordiales salutations et bonne prog
dp
Commenter la réponse de dp_favresa
cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 18 sept. 2009 à 10:29
0
Merci
Bonjour,

Ben justement, je ne sais pas comment stocker le
résultat de ma requête.

Sous VB6, je stocker le résultat dans un recordset,
mais sous VB2008 ???

Cordialement,

cédric
Commenter la réponse de cedricbollini
dp_favresa 132 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2010 Dernière intervention - 18 sept. 2009 à 15:03
0
Merci
Bonjour,

Je te mets ci-dessous ma façon de faire :
'   Variables
Public strSql As String                 '   Requête SQL
Public strConn As String                '   Paramètres de la connexion à SQL
Public conn As SqlConnection
Public CmdS As SqlCommand
Public da As SqlDataAdapter
Public dsBL As New DataSet()            '   Dataset des bulletins de livraison
'   String de connexion à SQL
strConn = "Initial Catalog=Nom_de_la_base;Data Source=Nom_du_serveur;User ID=SQLuser;Password=;"
'   Requête SQL
strSql = "SELECT ... FROM ... WHERE ..."
'   Connexion à la base, sélection des données
conn = New SqlConnection(strConn)
conn.Open()
CmdS = New SqlCommand(strSql)
da = New SqlDataAdapter(CmdS)
CmdS.Connection() = conn
'   Vidage du DataSet (si besoin)
dsBL.Clear()
'   Remplissage du DataSet
da.Fill(dsBL, "Nom_de_la_table_de_la_clause_FROM")
'   Fermeture de la connexion (si besoin)
conn.Close()

Tu peux ensuite charger le DataGridView depuis ce DataSet comme
indiqué dans mon 1er message.

Cordiales salutations et bonne prog
dp

PS Je serai absent et dans l'incapacité de te répondre
jusqu'à mardi 22.09
Commenter la réponse de dp_favresa
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 19 sept. 2009 à 04:03
0
Merci
cedricbollini> Tu utilises un Dataset fortement typé, tu as donc l'avantage de pouvoir utiliser les requêtes contenus dans celui-ci pour remplir des contrôles sans avoir à saisir aucune ligne de code en VB.

Beaucoup de contrôles en .Net disposent de SmartTag, cette petite flèche en haut à droite lors ce que tu sélectionne un contrôle sur ton formulaire en mode design. Pour le DataGridView, utilise la liste déroulante "Choisir la souce de données", puis développe les sources de données de ton projet, tu y retrouvera ton dataset, développe celui-ci, puis choisi la table à afficher dans ton DataGridView (Celle-ci doit avoir été créé dans le DataSet FT).

Lance l'application et Hop ! Magie...

Pour ce qui est du reste, si tu débute en VB.Net, au même titre que tout le monde je te conseille => Ici

++ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 19 sept. 2009 à 14:41
0
Merci
Re,

Qelle est ta requête FillBy ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 19 sept. 2009 à 21:38
0
Merci
Re,

c'est le nom de la nouvelle procédure que j'ai créé dans le concepteur de DataSet,

elle correspond à la requête SQL suivante :

SELECT Date, Num_facture, Nom_client, Prenom_client, Soin, Type_soin, Observation, D, M
FROM Soins_effec
WHERE (Nom_client LIKE @Nom_client) AND (Prenom_client LIKE @Prénom_client)


cordialement,

Cédric
Commenter la réponse de cedricbollini
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 19 sept. 2009 à 22:45
0
Merci
Si je t'ai demandé ca, c'était juste pour t'apporter une petite précision sur l'accès au données via un DataSet fortement typé.

Tu as du surement remarqué que lors de l'ajout d'une source de données à ton DataGridView, le concepteur Windows Form crée un BindingSource, tu peux aussi te servir de sa propriété 'Filter' pour filtrer les lignes contenues dans les tables résultant de ta requête 'Select'.

La différence résulte en faite sur la performance du logiciel dans le cas d'un moteur de recherche. Trop de requêtes vers une base de données (lors d'une recherche), peut ralentir l'application, et inversement faire une requête trop 'Globale' peux être une perte de temps (chargement de ligne qui ne seront pas utilisés).

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
cedricbollini 16 Messages postés jeudi 1 mai 2008Date d'inscription 9 janvier 2011 Dernière intervention - 20 sept. 2009 à 14:37
0
Merci
Bonjour,

OK merci à toi pour cette précision

Cordialement,

Cédric
Commenter la réponse de cedricbollini
dorra004 9 Messages postés vendredi 25 février 2011Date d'inscription 22 mars 2011 Dernière intervention - 7 mars 2011 à 23:58
0
Merci
Bonsoir,
j'ai un gros problème avec le bouton supprimer pour supprimer une ligne de la base se donné.
Pouvez-vous m'aider SVP?
Merci d'avance
Commenter la réponse de dorra004

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.