Question de spécialistes?

Résolu
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 14 mars 2009 à 00:02
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 5 oct. 2009 à 09:58
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




J’utilise une application qui repose sous MySQL via DbExpress (avec D7).



 




Pour assurer un lien biredirectionnel entre la base MySQL et mon appli, j’utilise les composants suivants :



-          SQLDataSet



-          DataSetProvider



-          ClientDataSet



-          DataSource



 




A noter que j'ai fait ceci en suivant ce tutoriel : http://jmcarayon.developpez.com/dbexpress/



 




Mon souci c’est que ma base contient plusieurs tables et que, via cette méthode, je suis obligé semble t'il d’avoir autant de composants ci-dessus que de tables.



 




Ce qui m’entraine alors autant de connexions à la base que j’ai de tables (Exemple pour 8 tables, je me retrouve avec 8 connexions à la base !).



 




Avez-vous une idée pour résoudre cette problématique ?



 




Merci par avance pour vos conseils.

4 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
14 mars 2009 à 18:53
plusieurs Table ou plusieurs Base ?

car pour acceder aux tables il te suffit de le preciser dans tes requettes :

SELECT * FROM table1 ...
SELECT * FROM table2 ...

<hr size="2" width="100%" />
3
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
15 mars 2009 à 00:50
J'ai une seule base qui contient une dizaine de tables.

Pour attaquer mes tables j'utilise pour chaque table un SQLDataSet, DataSetProvider, ClientDataSet et un DataSource.

SELECT * FROM table1 ...
SELECT * FROM table2 ...
Il faut que je mettte ça dans le SQLDateSet durant l'execution de l'appli c'est ça ?

Autres questions, de quatres composants que j'utilise lequel créé une connexion à la base ?
3
tilab Messages postés 95 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 26 octobre 2009 4
5 oct. 2009 à 08:11
Salut,

tu as besoin de 8 tables mais d'une seule connexion que tu réutilises.

Alex
3
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
5 oct. 2009 à 09:58
Bonjour et merci pour vos orientations,

Depuis, j'ai résolu le probléme de la maniére suivante pour chaque table (il me faut autant de clientdataset) mais qu'un seul SqlQuery (et donc qu'une seule connexion à la base) :

Form2.ClientDataSet1.Active:=False;
Form2.SQLQuery1.SQL.Clear;
Form2.SQLQuery1.SQL.Add('select * from table order by Champ);
Form2.SQLQuery1.ExecSQL(true);
Form2.ClientDataSet1.Active:=True;

Si ça peux aider ce qui ce sont poser les mêmes questions que moi...

En tous cas merci à tous.
0
Rejoignez-nous