Bonjour à tous,
j'utilise Delphi 6 avec Oracle 9.2 et mon code retourne des erreurs lors d'appel de procédures stockées avec le composant TSqlStoredProc (sp).
Précisément, Delphi retourne une exception "EBcdOverflowException", lorsque j'utilise l'un des codes suivants
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sp.params[0].AsInteger := IntVal; (valeur integer) sp.execproc; ---> error
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Params[0].DataType := ftInteger; sp.params[0].Value := IntVal; sp.execproc; ---> error
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sp.parambyname('xxx').AsInteger := IntVal; sp.execproc; ---> error
Par contre, je n'ai pas d'erreur avec le code suivant
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sp.params[0].Value := IntVal; (valeur integer) sp.execproc; ---> OK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sp.params[0].AsString := StrVal; (valeur string) sp.execproc; ---> OK
Selon vous, pourquoi mon code ne marche-t-il pas avec AsInteger ?
Remarques:
1- sp.params[0].Value := IntVal;
sp.execproc;
ne retourne pas d'erreur pour des valeurs IntVal allant de 1 à 5
et retourne une erreur pour des valeurs > 5
2- ce même code (càd sp.params[0].AsInteger := IntVal) marche avec une base Interbase
Merci de votre aide
Partager