begin process at 2012 02 13 02:25:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > DATAGRID, AFFICHER UNE REQUETE VIA UNE CONNEXION ODBC EN VB.NET

DATAGRID, AFFICHER UNE REQUETE VIA UNE CONNEXION ODBC EN VB.NET


 Information sur la source

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Niveau :Initié Date de création :20/08/2004 Date de mise à jour :24/08/2004 10:19:29 Vu :16 720

Auteur : scabo

Ecrire un message privé
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Le code ci dessous se connecte à une base de donnée via un DSN et affiche ensuite une requête SQL dans un datagrid.
Le code parle de lui même !!

Source

  • Dim m_Connex As New Odbc.OdbcConnection 'Objet qui définit la connexion
  • Dim myCommand As New Odbc.OdbcCommand 'Objet Command qui représente une requête SQL
  • 'Objet DataAdapter qui va permettre d'adapter la commande à un dataset pour ensuite pouvoir la mettre dans un datagrid
  • Dim myAdapter As New Odbc.OdbcDataAdapter
  • Dim myDataset As New DataSet 'Objet DataSet
  • Dim myDataTable As DataTable 'Objet DataTable
  • m_Connex.ConnectionString = "DSN=monDSN;UID=monUID;PWD=monPWD"
  • m_Connex.Open()
  • myCommand.CommandText = "SELECT * FROM CLIENT" 'Je défini ma requête SQL
  • '2- myCommand.CommandText = "SELECT * FROM CLIENT c, COMMANDE co WHERE co.CLI_CMD = c.ID_CLI AND c.NOM_CLI = 'KILL'"
  • myCommand.Connection = m_Connex
  • myAdapter.SelectCommand() = myCommand 'L'objet adapter prend en compte mon objet command
  • myAdapter.Fill(myDataset, "CLIENT") 'Ici, il faut remettre le nom de la table comme deuxième paramètres
  • 'Même pour une requête imbriquée, il suffit de passer une des tables de la requête en paramètres, cela ne change donc rien
  • myDataTable = myDataset.Tables("CLIENT") 'Ici, je défini mon objet DataTable, il faut remettre le nom de la table ici aussi
  • Datagrid1.DataSource = myDataTable 'Ma source de donnée de mon datagrid est mon DataTable
  • 'On ferme tout
  • myDataTable.Dispose()
  • myAdapter.Dispose()
  • myCommand.Dispose()
  • m_Connex.Close()
Dim m_Connex As New Odbc.OdbcConnection                    'Objet qui définit la connexion
Dim myCommand As New Odbc.OdbcCommand       'Objet Command qui représente une requête SQL

'Objet DataAdapter qui va permettre d'adapter la commande à un dataset pour ensuite pouvoir la mettre dans un datagrid
Dim myAdapter As New Odbc.OdbcDataAdapter      
Dim myDataset As New DataSet                              'Objet DataSet
Dim myDataTable As DataTable                               'Objet DataTable

m_Connex.ConnectionString = "DSN=monDSN;UID=monUID;PWD=monPWD"
m_Connex.Open()
myCommand.CommandText = "SELECT * FROM CLIENT"   'Je défini ma requête SQL
'2- myCommand.CommandText = "SELECT * FROM CLIENT c, COMMANDE co WHERE co.CLI_CMD = c.ID_CLI AND c.NOM_CLI = 'KILL'"
myCommand.Connection = m_Connex

myAdapter.SelectCommand() = myCommand   'L'objet adapter prend en compte mon objet command
myAdapter.Fill(myDataset, "CLIENT")                'Ici, il faut remettre le nom de la table comme deuxième paramètres
'Même pour une requête imbriquée, il suffit de passer une des tables de la requête en paramètres, cela ne change donc rien

myDataTable = myDataset.Tables("CLIENT")    'Ici, je défini mon objet DataTable, il faut remettre le nom de la table ici aussi
Datagrid1.DataSource = myDataTable              'Ma source de donnée de mon datagrid est mon DataTable

'On ferme tout
myDataTable.Dispose()
myAdapter.Dispose()
myCommand.Dispose()
m_Connex.Close()

 Conclusion

Il n'y a pas de gestion d'erreurs !! (Pas besoin LoOoOoL)
N'oubliez pas de remplacer les valeurs des variables "monDSN", "monUID" et "monPWD" par les vôtres !!!
Par contre j'ai pas encore essayer des requêtes utilisant plusieurs tables !!


 Historique

20 août 2004 16:44:49 :
Le titre n'était pas assez explicite !!!
24 août 2004 10:19:30 :
Cela fonctionne aussi avec les requêtes imbriquées, j'ai juste changé ma requête, le reste ne change pas, il suffit de passer une des tables de la requête en paramètre des méthodes des objets OdbcDataAdapter et DataSet pour que cela fonctionne !

 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

Commentaires et avis

Commentaire de scabo le 24/08/2004 10:25:49

Alors, vous en pensez quoi ?!! Ca vous a aidé ?

Commentaire de pongo308 le 27/08/2004 21:56:47

super super debutant en vb.net je cherche quelqu'un qui pourrait m ader: avec un numero client je cherche a recuperer toute sa fiche dans une base de donnee access et ensuite l'exporter sur une page pdf(creation d'un contrat delocation de voiture)...Difficile?

Commentaire de Rouk le 15/11/2004 16:52:39

Cette source est tres utile, mais comment fais tu lorsqu'il y a plusieurs tables ?

Commentaire de scabo le 18/01/2005 12:43:13

Quand tu as plusieurs tables, tu tapes ta requête normalement (elle contient donc plusieurs colonnes de différentes tables) et tu ne changes rien au reste.
ça donnerait ça :
myCommand.CommandText = "SELECT * FROM CLIENT c, COMMANDE co WHERE co.CLI_CMD = c.ID_CLI AND c.NOM_CLI = 'KILL'"
myCommand.Connection = m_Connex

myAdapter.SelectCommand() = myCommand
myAdapter.Fill(myDataset, "CLIENT")  'ici tu mets le nom d'une de tes tables de ta requête          

myDataTable = myDataset.Tables("CLIENT")  'ici aussi
Datagrid1.DataSource = myDataTable          

etc.

Commentaire de olixelle le 18/01/2005 20:03:28

Pour simplifier le code:
remplace:

myDataTable = myDataset.Tables("CLIENT")  'ici aussi
Datagrid1.DataSource = myDataTable          

par:

Datagrid1.DataSource = myDataset.Tables("CLIENT")

Commentaire de Or1On le 08/04/2005 10:49:08

Salut je débute en vb .net ceci dit je me demandais à quoi servait le "dataAdapter" et le "dataSet" pour afficher une requête dans un dataGrid.

Ce n'est pas plus simple de faire ceci ? :

OdbcCommand1.Command=OdbcConnection1
OdbcConnection1.Open()

OdbcCommand1.CommandText= "Select ...."
Dim Reader As System.Data.odbc.OdbcDataReader
Reader = OdbcCommand1.ExecuteReader()

DataGrid1.DataSource = Reader
DataGrid1.DataBind()
Reader.Close()

OdbcConnection1.Close()

En utilisant un Reader cela permet de lire directement les lignes contenues dans la requête puis de les afficher dans le DataGrid.

Commentaire de Or1On le 08/04/2005 10:50:59

Oups je me suis trompé à la premiere ligne ce n'est pas :
OdbcCommand1.Command=OdbcConnection1
mais
OdbcCommand1.Connection=OdbcConnection1

Commentaire de surfzoid le 19/04/2005 23:47:48

C est vrai que ça marche plutot bien mais est il possible de créer ou bypasser la création d un DSN a travers le paneau de conf/admin/odbc
car si on veut faire un soft client cela devien un peu lourd a mettre en oeuvre
Je suis débutant en base de donnée et peut etre que ma question est stupide ou que c est extrement simple de generer un fichier de connexion (serveur ,base et tout) ...?
Bon je pense que un 7/10 est honete.

Commentaire de surfzoid le 19/04/2005 23:49:07

une autre question
Tu n aurait pas etait fortement inspiré du manuel en ligne du site mysql.com pour ce code?

Commentaire de scabo le 11/07/2005 13:54:50

Désolé, j'avais complètement zappé ma source mais personne ne s'était manifesté pendant plusieurs mois donc je l'ai oubliée.

surfzoid : Non, je me suis inspiré de l'aide en ligne msdn et d'une source d'ici je crois aussi!

Or1On : Je ne connaissais pas cette solution qui a l'air très intéressante en effet.

Commentaire de Titux91 le 04/08/2006 15:56:49

Merci pour la source!
J'ai enfin compris comment utiliser les ODBC sous VBnet!
Il manque juste une petite gestion des erreurs mais bon, je ne vais pas t'en tenir rigueur!

Commentaire de laurent180 le 06/10/2006 12:34:16

Bonjour,

Merci pour la source elle m'a bcp aidé. J'ai une question.
J'aimerai garnir un datagrid sans passé par un dataset juste avec l'objet command. sa ne m'intéresse pas de travaillé en mode déconnecté est ce possible? et comment?

Merci.
Lau.

Commentaire de nisas le 04/12/2007 23:35:34

salut
mé est ce que qlq 1 peut maider
est ce  que je peut avoir un exemple de datagrid en mode connecte avc base de donnee sql
é merci

Commentaire de surfzoid le 05/12/2007 09:40:57

msdn, ou F1 !!

Commentaire de nisas le 05/12/2007 21:46:15

salut surfzoid ;
desolé mais j'ai pas compris msdn ou f1?
est-ce que vous pouvez m'expliqué car je suis encor une debutante.
et merci en tt cas  

Commentaire de surfzoid le 05/12/2007 22:01:28

Une fois Visual Studio 2005 ouvert appuie sur la touche "F1".
Ou (mé bien évidement a developper) :
http://msdn2.microsoft.com/fr-fr/library/system.data(VS.80).aspx

Commentaire de surfzoid le 05/12/2007 22:04:29

Faillit oublé un grand classic lol :D
http://www.google.fr/search?q=exemple+de+datagrid+en+mode+connecte+avc+base+de+donnee+sql+&ie=utf-8&oe=utf-8&aq=t&rls=com.mandriva:en-US:official&client=firefox-a


Commentaire de nisas le 05/12/2007 22:25:37

slt ;)
merci pour l'information et pour le lien surfzoid

Commentaire de surfzoid le 05/12/2007 23:28:57

De rien, c'est la "comunity spirit" lol

Commentaire de tarikbolbol le 22/04/2010 22:34:55

comment on relier une table base de donnée (sqlserver 2005) avec une datagrid pour ajouter dans datagrid et enregistrer dictement a la base tres urgent svp et merciii  

Commentaire de surfzoid le 23/04/2010 09:33:59

Il utiliser faut, par clavier le, Studio visual et souris click projet nouveau

Commentaire de pihp le 19/10/2011 14:30:23 10/10

Parfais, Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,557 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales