| |
| Posté le 06 janvier 2005 - 13:00 |
Vous allez me dire la méthode a adopter car je n'arrive pas à m'en sortir avec les transactions Je dév en WD9 et hyper file classique
Voila comment je procède : --------
erreur = faux
HTransactionDébut()
//Boucle TANTQUE ....
AJOUT DS LA BASE SI ERREUR HTransactionAnnule() erreur = Vrai SORTIR FIN
FIN TQ
HTransactionFin()
-------- Ce code me semble bon mais il doit y avoir une erreur car j'ai souvent des erreurs d'integrités et quand je fais expres de louper une requete, les insertions d'avant ne s'annulent pas.
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
| Posté le 06 janvier 2005 - 13:11 |
En fait je viens de comprendre que c'est lorsque je dit d'annuler la transaction qu'il m'affiche la fenetre : "le mécanisme de sécurité assisté de l'application WDTST a ete declenché. Les données rentrent en conflit avec les contraintes d'intégrité définies dans la base de données. vous pouvez annuler l'opération ou reprendre la main pour modifier les données."
C'est qu'il veut annuler les requetes précedantes mais qu'il peut pas a cause des contraintes. Il peut pas annuler tt court ?? |
| |
| |
| | | |
|
| | |
| |
| Posté le 06 janvier 2005 - 17:21 |
erreur = faux
HTransactionDébut()
//Boucle TANTQUE ....
AJOUT DS LA BASE SI ERREUR //HTransactionAnnule() erreur = Vrai SORTIR FIN
FIN TQ si erreur alors HTransactionAnnule() sinon HTransactionFin() fin |
| |
| |
| | | |
|
| | |
| |
| Posté le 06 janvier 2005 - 17:57 |
Lorsque l'appli veut annuler la transaction à la fin, j'ai une erreur d'intégrité alors que je veux juste annuler ce qui n'a pas fonctionné !!
Bref ca fonctionne pas mieux.. |
| |
| |
| | | |
|
| | |
| |
| Posté le 10 janvier 2005 - 11:09 |
Les transactions sont pour tout valider ou ne rien valider. Dans le cas d'erreur d'integrite d'ajout de lignes, il faut tester si la cle primaire de la ligne existe deja ou non par une lecture. si inexistant alors ajout. |
| |
| |
| | | |
|
| | |