Je suis en train de tester Delphi 2009, en vue d'une migration depuis Delphi 6.
Jusqu'à présent, j'utilisais le BDE. Je profite de ce changement, pour passer à DBExpress.
Mon problème :
Comment passer des paramètres à une procédure stockée Oracle avec DBExpress ?
Voici comment je m'y prend :C'est la transcription d'un code fonctionnant sans problème avec le BDE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 _DBXTransaction: TDBXTransaction; ... SQLConnection.Open; ... with StoredProcAjoutContenant do begin _DBXTransaction := SQLConnection.BeginTransaction; Params.ParamByName('NUMEMPLACEMENT').Value := EditC_AjoutEmplacement.Text; Params.ParamByName('IDTypeCont').Value := EditC_AjoutType.Text; Params.ParamByName('IDDescCont').Value := EditC_AjoutDesc.Text; Params.ParamByName('RacineMonoPdt').Value := EditC_AjoutRacineMonoPdt.Text; Params.ParamByName('FinitMonoPdt').Value := EditC_AjoutFinitMonoPdt.Text; Params.ParamByName('TypePourQui').Value := EditC_AjoutTypePourQui.Text; Params.ParamByName('NumPourQui').Value := EditC_AjoutNumPourQui.Text; Params.ParamByName('IDMontage').Value := EditC_AjoutIDMontage.Text; Params.ParamByName('Ope').Value := EditC_AjoutOpe.Text; Params.ParamByName('Supprime').Value := EditC_AjoutSuppr.Text; try ExecProc; // <-- ERREUR ICI ! SQLConnection.CommitFreeAndNil(_DBXTransaction); except on E: Exception do begin SQLConnection.RollbackIncompleteFreeAndNil(_DBXTransaction); MessageDlg(E.Message, mtError, [mbOK], 0); end; end;
Et voici ce que j'obtiens sur le ExecProc :
Y a t'il quelque chose que j'oublie ?ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres
ORA-06512: à ligne 1
![]()
Partager