Passage de paramètres numériques TSQLQuery avec DBXpress
Bonjour,
Me voilà venu vous présenter un problème qui va finir par me rendre dingue... Cherchez la logique.
J'attaque une base type AS400 avec les composants DBExpress. J'utilise le driver fourni par Peter Sawotsky pour cela.
Le problème: quand je donne un paramètre numérique à une requête, la valeur effectivement enregistrée dans la table varie!!! :calim2:
Code:
1 2
| Query.SQL:='UPDATE PARAM SET QUANTITE=:quantite';
Query.paramByNmae('quantite').Value:=valeur |
Par exemple si je donne 1 je trouve 1 dans la table tout va bien. Par contre 3 donne 2. 6 donne 5 et 7 donne 6!!!??? 8O
Je cherche par tous les moyens de changer le type du paramètre de la requete mais rien n'y fait!!
2 choses à noter:
-dans ma base AS400 les champs numériques sont des champs signés 7S 2 ou 9S3 (=9 positions dont 3 décimales). Il semblerait que ce soit ça le pb...???
-si je fais une requete genre
Code:
Query.SQL:='UPDATE PARAM SET QUANTITE='+intostr(valeur)
cela semble passer!!
Quelqu'un a déjà rencontré ce problème?? :cry:
Merci.