|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 9 ![]() |
Bonjour,
Dans le cadre d'une application C++, je désire executer 2 transactions ; 1 select et 1 curseur : EXEC SQL SET DATABASE DB1 = ... USER '...' PASSWORD '...'; ... EXEC SQL BEGIN DECLARE SECTION; isc_tr_handle T1 isc_tr_handle T2 ... EXEC SQL END DECLARE SECTION; T1 = (isc_tr_handle) NULL; T2 = (isc_tr_handle) NULL; EXEC SQL SET TRANSACTION NAME T1 READ ONLY; EXEC SQL SELECT TRANSACTION T1 ... INTO ... EXEC SQL COMMIT TRANSACTION T1; ... EXEC SQL DECLARE curseur CURSOR FOR SELECT ... EXEC SQL SET TRANSACTION NAME T2 READ COMMITTED; EXEC SQL OPEN TRANSACTION T2 curseur; EXEC SQL FETCH curseur INTO ... EXEC SQL CLOSE curseur; EXEC SQL COMMIT TRANSACTION T2; ... **** Précompilation : gpre -manual *.epp Compilation : No error, no warning Select : ok **** La première transaction fonctionne, mais la deuxième plante le programme. Quelqu'un pourrait-il m'indiquer mes erreurs ? Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
hum, tu as essayé que le code de la deuxième transaction ?
j'imagine que tu as lu : http://support.borland.com/entry.jsp...categoryID=154
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 9 ![]() |
La transaction 2 plante même executée toute seule.
Et plus précisement au moment du FETCH. System : WINXP, VC8, firebird 2.0 Merci pour le lien. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 9 ![]() |
Problème Résolu
Le problème vennait de l'utilisation d'un 'char' EXEC SQL BEGIN DECLARE SECTION; ... char rank='A'; EXEC SQL END DECLARE SECTION; ... EXEC SQL FETCH curseur INTO :&rank; // remaque : "&" ... Il me manquait le "&" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com