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 :

Firedac MySQL et type de champ


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut Firedac MySQL et type de champ
    Bonjour

    J'ai besoin de créer une table dans une base MySQL 8.0.
    Je le fais à partir d'un script SQL mais j'ai besoin qu'en connectant un composant TFDTable et en ajoutant tous les champs, j'obtienne pour les champs de type décimal des TFloatField plutôt que des TSingleField.

    J'ai essayé avec FLOAT et DECIMAL dans mon script mais à chaque tentative, Delphi me crée des champs TSingleField.

    Quel type de données dans MySQL devrais-je utiliser à votre avis ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 78
    Par défaut
    peux-tu nous donner le script?
    Utilise des TFDQuery plutôt que des TFDTable!

  3. #3
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Si tu utilises FireDAC tu as une option de mapping dans le TFDConnection pour ce genre de choses si je me souviens bien.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Bonjour, côté Firedac tu pourrais toujours passer par les mappings (si je me souviens bien, on en a déjà parlé il y a un bail pour Firebird)
    [Edit] Grillé par Patrick

    J'ai essayé avec FLOAT et DECIMAL dans mon script mais à chaque tentative, Delphi me crée des champs TSingleField.
    je pense que cela dépend du nombre de décimales indiquées

    // https://dev.mysql.com/doc/refman/8.0...int-types.html
    A precision from 0 to 23 results in a 4-byte single-precision FLOAT column. A precision from 24 to 53 results in an 8-byte double-precision DOUBLE column.
    donc, a priori, tu devrais déclaré quelque-chose comme Float(24)

  5. #5
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Merci pour vos réponses !

    J'avais pensé aux mappings mais en fait, je reprends une vielle appli BDE pour laquelle il y a des centaines de composants à passer en Firedac et il est plus pratique de conserver les composants tels quels.

    J'ai fini par tester avec REAL et là, ça fonctionne même au final MySQL affiche ça comme des double.

    Problème résolu !

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

Discussions similaires

  1. [MySQL] MySQL, quel type de champ choisir pour prix
    Par okoweb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/08/2010, 00h12
  2. Réponses: 4
    Dernier message: 24/10/2008, 09h21
  3. [MySQL] champ datenaissance et type de champ dans mysql
    Par romeskira dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/10/2008, 16h34
  4. Type des champs d'une vues mysql
    Par JmL40 dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/05/2008, 16h06
  5. dbmemo type de champ mysql
    Par Mihalis dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/01/2007, 18h30

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