crogger
Messages postés32Date d'inscriptionvendredi 5 avril 2002StatutMembreDernière intervention23 octobre 2006
-
20 oct. 2006 à 12:50
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 2007
-
23 oct. 2006 à 14:22
Bonjour,
J'aimerai afficher le contenu de mes tables dans un DataGrid, cependant je vois plein de tutos qui automatisent tout avec "Ajout source de données", mais aucun moyen d'ajouter mySQL.
Existe il une solution pour alimenter un DataGrid à partir d'une source mySQL?
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 20072 20 oct. 2006 à 13:25
Oui c'est possible en utilisant odbc,
En supposant que tu as déjà installe mysql connector odbc,
L'une des méthodes les plus simples c'est via les interfaces, pour ce faire il suffit de suivre la démarche suivante :
- Ouvre ou crée un nouveau projet.
- Dans le menu, clique sur Donnee>Ajouter une nouvelle source de données
- base de données
- puis nouvelle connexion,
- Source de données Microsoft ODBC,
- choisi l'option Utiliser la chaîne de connexion.
Maitenant tu dois saisir la chaine qui va te permettre de te connecter à ta base mysl. Normalement elle se presente comme suit :
Driver={MySQL ODBC 3.51 Driver};database=MaTable;port=0;server=MonServeur;uid=Login;option=3
Enfin, tu saisis le mot de passe.
Après, tout devient comme un jeu d'enfant, il suffit de faire des glisser deplacer, de la zone source de données Maj+Alt+D,
vers tes formes,
Evidement il y en a plein d'autres moyens, mais je pense que celle ci est la plus rapide et la plus simple.
Bonne programmation.
Cordialement medelidrissi
<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 20072 20 oct. 2006 à 17:05
Oui tu as raison, j'avais eu ce problème à ma première pris en main d’ODBC Mysql, en fait ce dernier n'est pas complètement compatible avec la nouvelle plateforme vu que les procédures GetData et Fill ne sont pas prises en charge.
Pour remédier à ce petit prob j'ai fait appel au DataSet.
Pour ne pas trop te traîner avec mes explications, je voudrai savoir si tu as eu déjà l'occasion de travailler avec des DataSet (même si ce n'est pas le cas c'est pas grave ).
Bonne programmation.
Cordialement medelidrissi
<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 20072 21 oct. 2006 à 13:16
Alors, commençons,
Sur le même projet d'auparavant, essaye d'ajouter un nouvel élément (Ctrl+Maj+A) à ton projet, un DataSet.
Maintenant avec un clique droit sur le concepteur du DataSet tu dois ajouter un nouveau TableAdapter :
Normalement tu dois voir la connexion que tu as déjà créée auparavant, si ce n'est pas le cas clique sur Nouvelle Connexion, et suis les étapes précitées,
Tu choisis la première option :
Après tu dois saisir la requête de sélection des données de ta table, ou bien tout simplement tu utilises le Génerateur de requêtes, bouton en bas :
Normalenent à la fin, tu dois voir ton nouveau DataTabler dans le concepteur :
Tu ouvres la fenêtre Sources de Données, tu verras ton DataSet et DataAdapter là-dedans, tu le glisses dans une forme est hop le tour est joué.
Voilà la première partie est terminée,
Si tu la remarqué les données s'affichent sans prob dans tes formes, mais quand tu veux valider tes modifications (Insertion, modification es suppression) le prog va beuger car en faite cette partie doit être spécifié dans le dataAdapter, je t'expliquerai comment faire dans la deuxième étape si tu n'as pas de question de sur cette première étape.
Bonne programmation.
Cordialement medelidrissi
<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 20072 23 oct. 2006 à 12:33
Ok,
Comme tu l'as remarqué, il est impossible d'appliquer des modifications à tes données visualisées. pour remédier à ça :
Toujours dans ton projet, ouvre ton nouveau DataSet, puis clique sur le DataAdapter de ton DataTable(pour mon cas DataTable1TableAdapter), tu dois localiser dans la fenêtre Propriétés DeleteCommand, InsertCommand, SelectCommand et UpdateCommad.
Normalenemt l'assistance automatique a initialisé la valeur de la troisième, le SelectCommand qui contient en fait la requête de sélection des données (SELECT ID, Designation, NbreSemestre FROM timetable_branche, en ce qui concerne mon exemple avec ID la clé primaire de ma table timetable_branche). Quant aux autres propriétés ils n'ont aucune valeur par la suite et c'est ça qui cause le prob le des modifications.
En se basant sur ma requête de sélection si haut je vais spécifier la valeur des autres propriétés comme suit :
- Par exemple pour le DeleteCommad.
on clique dessus puis en choisit (nouvelle), après en développes le contenu de cette propriété en cliquant sur le + d'à gauche
et on clique sur le bouton d'à droite de la propriété CommadText :
Le générateur de requête s'affiche, alors en saisie notre requête de suppression habituelle Delete From MaTable Where MaCléPrimaireOuAutre= Valeur, ici Valeur doit être remplacé par ? :
Pour les autres, c'est à peu près la même chose, par exemple :
- InsertCommand
INSERT INTO timetable_branche (ID, Designation, NbreSemestre) VALUES (?, ?, ?)
- UpdateCommandUPDATE timetable_branche SET Designation ?, NbreSemestre ? WHERE (ID = ?)
Bon, à priori, c'est tout. Évidemment, si tu as des questions n'hésite pas.
Bonne programmation.
Cordialement medelidrissi
<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
crogger
Messages postés32Date d'inscriptionvendredi 5 avril 2002StatutMembreDernière intervention23 octobre 2006 23 oct. 2006 à 13:18
Lorque je fais :
on clique dessus puis en choisit (nouvelle), après en développes le contenu de cette propriété en cliquant sur le + d'à gauche
et on clique sur le bouton d'à droite de la propriété CommadText :
J'ai un message d'erreur de vb :
Attempted to read or write protected memory. This often an indication that other mermory is corrupt