Auteur Sujet: Pourquoi cette requête est-elle rejetée en Delphi ?  (Lu 3751 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne Yves Bruant

Pourquoi cette requête est-elle rejetée en Delphi ?
« le: 22 Juillet 2005 à 08:37:32 »
Bonjour,



Quelqu'un pourrait-il me dire pourquoi la requête triviale suivante

select  EV_IND_DESCRIPTION  from EVENEMENTS_IND  

where EV_IND_DESCRIPTION like 'Officier d''état%'


fonctionne bien depuis le BOA, et pas depuis EMS Manager, non plus

qu'exécutée directement depuis le code Delphi d'ailleurs !



J'obtiens le message d'erreur

arithmetic exception, numeric overflow, or string truncation

Cannot transliterate character between character sets
C'est lié à la présence de caractères accentués, ici le é.



Mon but ultime est de mettre dans la clause where (à la place de

mon exemple 'Officier d''état') un partie du champ profession

(event 'OCCU') lu dans la base pour procéder à des regroupenents

de professions, et de l'utiliser depuis Delphi, sinon je ne vous poserais

pas la question est resterais avec le BOA...



Ca me coince un peu dans la finalisation du développement de la

version 2 de CreationWeb.
Amitiés.Yves.
 

Hors ligne AquaBlue

Pourquoi cette requête est-elle rejetée en Delphi ?
« Réponse #1 le: 22 Juillet 2005 à 11:13:50 »
Ta requête marche dans IBExpert.

Une piste à tout hasard dans IBExpert le message d'erreur que tu obtiens, est lié à un conflit avec le jeu de caractères utilisé.

Je me souviens en avoir eu plein de message de ce type lors du passage à la base 3 en ISO8859-1

La solution était de passer en "Dialect 3"
 

Hors ligne Lau

  • Modérateur
  • AncestroSenior
  • *****
  • Messages: 1 651
    • http://laro.chez-alice.fr
Pourquoi cette requête est-elle rejetée en Delphi ?
« Réponse #2 le: 22 Juillet 2005 à 12:37:16 »
Bonjour Yves,

Effectivement, il y a eu il y a fort longtemps un changement dans la base de données.

Je te renvoie au fil suivant pour plus d'infos sur ce que j'ai fait dans le BOA pour corriger le pb : http://www.ancestrologie.org/forum/index.php?topic=1621.0&postdays=0&postorder=asc&highlight=arithmetic&start=30

@+

Lau
 

Hors ligne Yves Bruant

Pourquoi cette requête est-elle rejetée en Delphi ?
« Réponse #3 le: 22 Juillet 2005 à 13:11:29 »
Merci à tous les deux et bravo  :D



Il manquait bien



 ibd_BASE.Params.Add('lc_ctype=ISO8859_1');

dans mon composant ibd_BASE, et de toutes façons,

il y a un Params.Clear au début du code dans la Dll, au moment

de l'init du User_Name et Password, aussi j'ai ajouté la commande

d'ajout ci dessus juste après, et le croirez-vous ?



Maintenant ça marche  :!:  :D  :D



Mais je n'ai pas trouvé où l'intégrer dans le cas de l'utilisation de

EMS Manager, mais le principal est qu'enfin, 'ça marche' à partir du code.
Amitiés.Yves.
 

Hors ligne Lau

  • Modérateur
  • AncestroSenior
  • *****
  • Messages: 1 651
    • http://laro.chez-alice.fr
Pourquoi cette requête est-elle rejetée en Delphi ?
« Réponse #4 le: 22 Juillet 2005 à 14:00:36 »
Heureux d'avoir pu t'aider.

@+

Lau