Problème avec AsInteger sur appel de procédure stockée
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
Code:
1 2
| sp.params[0].AsInteger := IntVal; (valeur integer)
sp.execproc; ---> error |
ou
Code:
1 2 3
| Params[0].DataType := ftInteger;
sp.params[0].Value := IntVal;
sp.execproc; ---> error |
ou
Code:
1 2
| sp.parambyname('xxx').AsInteger := IntVal;
sp.execproc; ---> error |
Par contre, je n'ai pas d'erreur avec le code suivant
Code:
1 2
| sp.params[0].Value := IntVal; (valeur integer)
sp.execproc; ---> OK |
ou
Code:
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