Ajout src données mySQL

crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006 - 20 oct. 2006 à 12:50
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 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?

(J'utilise jusqu'à présent Adodb).

Merci pour votre aide :)

11 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 oct. 2006 à 13:16
Salut,

Si tu passe par des Recordset ADO tu devrais pouvoir utiliser ce recordset comme DataSource du DataGrid

@+,   Ju£i?n
0
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
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.
0
crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006
20 oct. 2006 à 13:55
Merci pour vos réponses, je teste tout ca ASAP, je vous tiens au courant.

Bonne apm :)
0
crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006
20 oct. 2006 à 15:40
J'ai essayé ta solution, mais apparement j'ai tjrs une erreur de ce type genérée :

ERROR [23000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.9-max]Erreur de syntaxe près de '.`columns_priv`' à la ligne 1

J'ai essayé avec d'autre base et tables, tjrs la même erreur SQL qui revient, du coup je ne peux rien compiler.

Merci :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
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.
0
crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006
20 oct. 2006 à 17:36
Re :)

Non je n'ai jamais eu l'occasion :(, mais veux bien apprendre !

Merci
0
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
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.
0
crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006
23 oct. 2006 à 11:08
Bonjour,

    Cela fonctionne trés bien (aprés quelques petits bugs :-).

Comme tu disais, si je modifie quelque chose, j'ai un joli message d'erreur, je suis preneur pour la suite :)

Merci !
0
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
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.
0
crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 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

Je ne comprends pas ...

Merci :)
0
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
23 oct. 2006 à 14:22
Assure-toi que le serveur Mysql est en marche. Si c'est possible, refais la 1re partie et la seconde en même temps.

Sinon sur quelle étape exactement ça plante, est-ce juste après que tu choisis (Nouvelle) ?

Bonne programmation.

Cordialement medelidrissi

<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
0
Rejoignez-nous