Migrer d'une technologie BDE vers une technologie ADO delphi7 sql server

BYHALI Messages postés 3 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 19 juin 2007 - 9 juin 2007 à 09:34
BYHALI Messages postés 3 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 19 juin 2007 - 19 juin 2007 à 16:10
Bonjour à tous,
je voudrais migrer d'une technologie BDE vers une technologie ADO delphi7 sql server.
pouvez vous m'orienter j'ai un problème qui me bloque??
je sais que:
- au lieu tdatabase  -> tadoconnection
- au lieu  ttable -> tadotable
- au lieu tadotable  -> tadoquery
- s'il y a des parametres dans query, au lieu query.params[i].value -> adoquery.parameters[i].value.
- au lieu table.cachedupdates:=true - > adoconnection.begintrans.
- au lieu table.upplyupdates; table.cachedupdates:=false -> adoconnection.committrans; (pour cancelupdates utiliser rollbacktrans)

Le problème est le suivant:
quand j'utilise deux tables en maitre-détail en BDE sans problème: en mode insertion, je peux insérer dans le dbgrid lié à la table détail autant que je veux comme enregistrement sans problème, je les visualise, je resaisis, tout en étant en mode insertion du maître.

MAIS ce n'est pas le cas avec deux tables ADO maitre-détail:
à chaque fois quand j'insère un enregistrement dans la table détail il disparît. et quand je poste la table maître et que je la scrolle tous les enregistrements insérés reviennent???

d'après vous est ce que j'ai oublié quelqe chose? ou un paramètre?? ou autre??
s'il vous plait je suis bloquée depuis plusieurs jour, et mon boss me stress pour la fin de la migration.

à bientôt
A voir également:

1 réponse

BYHALI Messages postés 3 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 16:10
pour ce qui concerne le maitre détail, c bon j'ai trouvé la solution:
au lieu de déclarer une tadotable en détail, je déclare un tadoquery, où query='select * from table_detail where maitre=:m'.
et en scroll de la table maitre, je réouvre l'adoquery en lui injectant le paramètre 'm'.
et ça marche.

Mon problème maintenant, c'est que l'utilisation du cache avec ado est terrible, quand je lance le begin trans, aucun query sur la table qui est en cache ne peut fonctionner normalement, jusqu'à ce que j'exécute le rollback.
pouvez-vous m'orienter svp je suis coincée

merci de votre compréhension
0
Rejoignez-nous