Moi, j'aurais fait ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Create procedure sp_maprocedure1
@madate datetime,
@montant money
As
BEGIN TRANSACTION
Update Employer
Set regmer=1 ;
Insert Into Charge(Date,Montant)
values(@madate,@montant);
delete from credit;
IF @@ERROR=0 COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION |
Et dans mon code vb6.0:
cn.execute sp_maprocedure1 'YYYY-MM-DD', montant
Le problème est résolu !
Plus simple n'est ce pas, plus éfficace et propre sans oublier touts les avantages liés aux procédures stockées.
Un conseil :
Ne jamais démarer une transaction par le code ADO.
Les risques de verou mortel sont plus grands en cas de plantage ou de coupure de courant sur le poste client.
Partager