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

Persistance des données Java Discussion :

en oracle:number avec un scale de 3==>en java ?


Sujet :

Persistance des données Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut en oracle:number avec un scale de 3==>en java ?
    bonjour,
    j'ai créé un type number depuis oracle avec un scale de 3(chiffres après virgule),ce number servit pour stocker un montant,
    en java j'ai utilisé le type double pour l'attribut montant, mais, comment je peux exiger les 3 chiffres après la virgule?et comment je peux grantir aussi que le montant 100 sera enregistré 100.000
    merci,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Par défaut
    Bonjour chflb,

    La question est-elle bien posée ?

    Quand tu crées un type NUMBER Oracle avec une échelle x, cela signifie que le système va vérifier que le nombre de décimales n'excède pas la précision lors de l'enregistrement d'une nouvelle donnée dans la base (peut-être qu'il va supprimer les décimales surnuméraires, je ne suis plus 100% sur du comportement exact). Si ta valeur numérique ne comporte pas plus de trois décimales, il n'y aura pas de problème.

    En l'occurrence, 100 est une valeur valide dans ton cas et la valeur est bel et bien 100 (!!!) (ce qui est égal à 100.0 ou 100.000). Le NUMBER en base est donc toujours 100 (sauf que dans le cas d'une valeur flottante, sa représentation respectera plutôt la norme IEEE-754 donc la donnée sera de la forme +0.1E+2.

    Ton soucis me semble donc plutôt relever du formatage de la valeur lorsque celle-ci est affichée. Si tu affiches cette donnée avec Oracle, tu peux regarder du côté de fonction to_char(number value, varchar2 format).

    Pour ce qui est du contrôle de la donnée dans ton code Java, je ne pense pas que l'endroit soit bien choisi. En l'occurence, le système de gestion de base de données te permet de définir simplement des contraintes sur les données, et il se chargera de les vérifier. Autant laisser faire Oracle, il n'est pas nécessaire de faire le même travail une seconde fois dans le soft.

    En espérant que ça te donne des éléments de réponse...

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut
    merci Yomhgui,
    @+

Discussions similaires

  1. [ORACLE]Problème avec NUMBER
    Par HexChit dans le forum Oracle
    Réponses: 2
    Dernier message: 17/10/2006, 10h56
  2. [Oracle] Requête avec colonne optionnelle
    Par Original Prankster dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/08/2005, 09h24
  3. Réponses: 3
    Dernier message: 17/08/2005, 17h27
  4. upgrade de Oracle 8i à Oracle 9i avec EXP/IMP
    Par ishraam dans le forum Oracle
    Réponses: 2
    Dernier message: 19/03/2005, 20h55
  5. [C#] [Oracle] Probleme avec une procedure stockée
    Par sronin1 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 28/05/2004, 19h04

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