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 :

Enregistrement en base avec ADOQuery


Sujet :

Bases de données Delphi

  1. #1
    Membre émérite Avatar de Cpt Anderson
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 624
    Points : 2 477
    Points
    2 477
    Par défaut Enregistrement en base avec ADOQuery
    Bonjour à tous,

    voilà mon problème:

    je bosse avec Delphi 7 et SQL Server 2000. J'enregistre en base avec des ADOQuery.
    Lorsque je fais un enregistrement en base, que ce soit un Update ou un Insert d'un champ en float qui est egale à 100, je retrouve non pas 100 dans mon champ mais 100,0XX !!!

    Je fais du pas à pas jusqu'à l' ExecSQL de ma query et je verifie que j'ai bien 100 tout rond dans mon montant; ce qui est le cas.

    J'avoue ne pas comprendre pourquoi il y a cet arrondi !

    Si quelqu'un peut eclairer ma lanterne...

    Merci
    Voici la méthode de mon chef:

    copy (DateTimeToStr(Now),7,4)+
    copy (DateTimeToStr(Now),4,2)+copy (DateTimeToStr(Now),1,2)+copy (DateTimeToStr(Now),12,2)+
    copy (DateTimeToStr(Now),15,2)+copy (DateTimeToStr(Now),18,2)

    Je lui ai dit que FormatDateTime irait surement mieux


  2. #2
    Membre habitué Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Points : 157
    Points
    157
    Par défaut
    Citation Envoyé par Cpt Anderson
    Lorsque je fais un enregistrement en base, que ce soit un Update ou un Insert d'un champ en float qui est egale à 100, je retrouve non pas 100 dans mon champ mais 100,0XX !!!
    Merci
    c,est quoi le XX , des valeurs ou des Zero.....

    salut
    bon je sais pas exactement mais en general le probleme dans le TYPE de Champ , Integer ou Real ....

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par Cpt Anderson
    Bonjour à tous,

    voilà mon problème:

    je bosse avec Delphi 7 et SQL Server 2000. J'enregistre en base avec des ADOQuery.
    Lorsque je fais un enregistrement en base, que ce soit un Update ou un Insert d'un champ en float qui est egale à 100, je retrouve non pas 100 dans mon champ mais 100,0XX !!!

    Je fais du pas à pas jusqu'à l' ExecSQL de ma query et je verifie que j'ai bien 100 tout rond dans mon montant; ce qui est le cas.

    J'avoue ne pas comprendre pourquoi il y a cet arrondi !

    Si quelqu'un peut eclairer ma lanterne...

    Merci
    Si tu ne traites que des montants, je te conseil de passer tes champs en currency , ca reglera pas mal de tes problèmes de chiffres après la virgule.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Mais tu l'as où cette valeur ? dans la table, à l'affichage ? Si tu mets ton code ça nous permet de t'aider.

  5. #5
    Membre émérite Avatar de Cpt Anderson
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 624
    Points : 2 477
    Points
    2 477
    Par défaut
    salut à tous,

    le fin mot de l'histoire c'est que quand je realisais mon traitement à l'aide d'un composant développé par le type qui etait à mon poste auparavant, ca me rentrait non pas 100 mais 100.001. L'hallucination...

    En cherchant, j'ai vu que ca ne venait ni de delphi (TADOQuery + TADOConnexion), ni d'SQL Server. Et c'est ce p.... de composant qui m'a fait perdre 2 bonnes heures à m'aracher les cheveux..

    Désolé pour le dérrangement..
    Voici la méthode de mon chef:

    copy (DateTimeToStr(Now),7,4)+
    copy (DateTimeToStr(Now),4,2)+copy (DateTimeToStr(Now),1,2)+copy (DateTimeToStr(Now),12,2)+
    copy (DateTimeToStr(Now),15,2)+copy (DateTimeToStr(Now),18,2)

    Je lui ai dit que FormatDateTime irait surement mieux


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrement de données avec base de temps
    Par lio59 dans le forum Windows Forms
    Réponses: 19
    Dernier message: 12/10/2011, 13h44
  2. Join avec ADOQuery sur base MDB
    Par NorexaMS dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/11/2009, 17h07
  3. enregistrer des données dans une base avec jboss jbpm
    Par paolo2002 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 19/09/2007, 11h56
  4. [MySQL] Enregistrement dans la base avec "stripslashes"
    Par albedo0 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/05/2007, 13h46
  5. Créer les relations dans une base access avec ADOQuery
    Par codial dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/03/2007, 09h31

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