Bonjour à tout le monde,
J'ai commencé une nouvelle application avec delphi 7 et une base sql server 2000.
J'ai un problème de choix des ADO (ADOTables ou ADOQuery), lesquels de ces ADO doit-je choisir dans mon application client/serveur ?
Merci.
Version imprimable
Bonjour à tout le monde,
J'ai commencé une nouvelle application avec delphi 7 et une base sql server 2000.
J'ai un problème de choix des ADO (ADOTables ou ADOQuery), lesquels de ces ADO doit-je choisir dans mon application client/serveur ?
Merci.
Sans hesiter : ADOQuery.
Merci Andry,
Je vais opter pour ADOQuery. Mais comment l'utiliser ?
un ADOQuery pour insert, un ADOQuery pour modify et un autre pour delete ?
ici :
mon DataModule va être le triple ou plus ce que j'avais l'habitude de gérer.
un seul ADOQuery avec un chargement dynamique de SQL (insert, update, delete) ?
ici :
je gère beaucoup de code SQL dans mon code source.
Je demande toujours votre avis, et Merci d'avance.
Comme tu dis,
Soit tu met autant de composant ADOQuery qu'il faut ou soit tu crée et détruit chaque fois que tu auras besoin.
Le mieux serait de na pas utiliser d'ADOQuery présent sur un DataModule pour les opérations de modifications des données mais bien d'instancier dynamiquement un ADOQuery pour exécuter la requête puis le détruire juste après.
Au pire tu peux ne déposer qu'un seul ADOQuery dédié à faire ça en changeant la requête à exécuter à chaque fois suivant l'action demandée.
En fait avec ADOExpress ou dbGO la solution qui est plutôt recommandée c'est de n'utiliser ni l'un, ni l'autre. Ces composants sont là pour assurer un certain niveau de compatibilité avec ceux du BDE (sans être vraiment interchangeable pour autant...).Citation:
J'ai un problème de choix des ADO (ADOTables ou ADOQuery), lesquels de ces ADO doit-je choisir dans mon application client/serveur ?
La solution recommandée c'est plutôt d'utiliser un TADODataSet ou un TADOCommand qui sont plus proche du fonctionnement normal d'ADO.
Le TADODataSet permet d'effectuer les requêtes de type SELECT. Le TADOCommand sert à faire toutes les autres.
Il faut savoir qu'avec ADO, tu n'as pas besoin de composant query du tout !Citation:
un seul ADOQuery avec un chargement dynamique de SQL (insert, update, delete) ?
ici :
je gère beaucoup de code SQL dans mon code source.
Tu peux exécuter n'importe quelle requête SQL directement à partir de la connexion ADO (voir même exécuter des procédures stockées directement comme s'il s'agissait de méthodes de la connexion. Mais pour ça, il faut travailler directement sur l'objet COM de la connexion, en late binding... (pas très recommandé)).
Par exemple, pour faire un insert, update, delete :
Ou encore pour un select :Code:
1
2
3
4
5
6 var cnt : TADOConnection; begin ... cnt.Execute('update ........'); // Mettre la requête SQL que tu veux exécuter.
Par contre, tu ne peux pas faire de requêtes paramétrées de cette façon.Code:
1
2
3
4
5
6
7 var cnt : TADOConnection; res : _recordset; begin ... res := cnt.Execute('select ......');
Bonjour,
J'aimerais savoir de quel DLL vienne ADOQuery car lorsque j'ajoute la DLL microsoft Activex Data Object .... je ne trouve nulle part ce composant.
Je travaille en delphi 5.
La solution donnée par Franck SORIANO est de type "PRO" mais si tu es tenu par répondre à un cahier de charge, faut, à mon avis, travailler avec les deux. en d'autres termes, ADOTable peur servir par exemple dans l'appel à l'ensemble entier. ADOQuery pourrait lui servir dans des recherches, filtres et MAJ.
Bonne chance.