IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[DBExpress] Oracle fonction cast


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Par défaut [DBExpress] Oracle fonction cast
    Salut a tous,
    J'ai un problème avec Dbexpress 4 et Oracle.
    Quand j'essaie de caster une chaine de caractère vers un Réel, je n'obtiens pas le résultat escompté, le problème vient du fait que je n'ai pas de virgule.
    Je m'explique.
    Dans une forme, je met un TSQLConnection et un TSQLQuery et un bouton.
    Je renseigne TSQLConnection avec une base oracle, puis dans mon TSQLQuery, je saisie dans SQL la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select cast('12345' as number) / 100  + 10 as XX
    from Dual
    dans onclick du bouton je met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      SQLQuery1.Active := True;
      ShowMessage(SQLQuery1.Fields[0].AsString);
    J'obtiens 13345 au lieu de 133.45, donc je n'ai pas le point décimal.
    Voila c'est tout merci d'avance.
    Delphi 2007 DBX4 Oracle 10G
    NB J'ai fais le test sous interbase, ça marche très bien.

  2. #2
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    C'est marrant, j'ai exactement le même problème avec Oracle, mais en utilisant directement OCI.dll fournie par Oracle (et sur une requête select sum(...)).

    Lorsque je lis le résultat, OCI me dit que le champ number possède 0 décimal et du coup je récupère un entier.

    Je contourne le pb avec une requête du genre :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select cast(TO_NUMBER('1234')/100 as number(10,4))
    from dual;

    Le tout c'est d'ajouter un cast sur le résultat du calcul.

  3. #3
    Membre expérimenté
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Par défaut
    Salut Franck,
    Malheureusement, j'ai copier collé le code que tu m'as envoyé, le problème persiste.
    Le comble c'est que sous Toad ou PlsqlDeveloper tout fonctionne très bien

  4. #4
    Membre expérimenté
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Par défaut
    Je viens de tester avec Anydac, ça fonctionne très bien, donc j'imagine que le problème vient de DBexpress.
    Mais comme je suis contrains de travailler avec DBX donc, je suis bloqué.

  5. #5
    Membre confirmé

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Par défaut
    Pas de problème avec qu'ADO.

  6. #6
    Membre confirmé

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Par défaut
    avec les DBX ça marche aussi

Discussions similaires

  1. [Oracle] Fonction to_date
    Par Run_974 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 16/08/2007, 17h16
  2. Problème fonction cast!
    Par pegautier dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/11/2006, 10h39
  3. [Oracle] fonction pl/sql pour calcul pwd
    Par shaun_the_sheep dans le forum PL/SQL
    Réponses: 7
    Dernier message: 02/06/2006, 15h38
  4. [Oracle / Fonction hachage] Fonction de hachage SHA / MD5
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 8
    Dernier message: 26/01/2006, 08h58
  5. dbexpress - oracle
    Par shelldi dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo