Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

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 : 12 670

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
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 !

Commentaires et avis

signaler à un administrateur
Commentaire de scabo le 24/08/2004 10:25:49

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

signaler à un administrateur
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?

signaler à un administrateur
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 ?

signaler à un administrateur
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.

signaler à un administrateur
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")

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
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.

signaler à un administrateur
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?

signaler à un administrateur
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.

signaler à un administrateur
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!

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
Commentaire de surfzoid le 05/12/2007 09:40:57

msdn, ou F1 !!

signaler à un administrateur
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  

signaler à un administrateur
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

signaler à un administrateur
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


signaler à un administrateur
Commentaire de nisas le 05/12/2007 22:25:37

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

signaler à un administrateur
Commentaire de surfzoid le 05/12/2007 23:28:57

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.