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

 Delphi Discussion :

Taille de champ dans DBGrid


Sujet :

Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    décembre 2014
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 97
    Points : 72
    Points
    72
    Par défaut Taille de champ dans DBGrid
    Bonjour,

    J'ai une application qui contient un DBGrid associée à une requête. Cette requête contient dans le select une fonction qui retourne une valeur : SELECT ...,...,...,cle(..),.. dans le DBGrid. Cette valeur de la fonction s'affiche très long malgré que la valeur ne dépasse pas deux chiffres.
    Comment réduire ce champs dans le DBGrid lors de l’exécution ?

    Merci d'avance pour tous ceux qui nous aident.

  2. #2
    Membre averti Avatar de cantador
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    mars 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mars 2006
    Messages : 568
    Points : 427
    Points
    427
    Par défaut infos
    bonjour,

    pourrais-tu mettre le code de ta requête SQL et nous donner les caractéristiques
    de ton environnement de développement (version OS, delphi, SGDB etc..)

  3. #3
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    décembre 2014
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 97
    Points : 72
    Points
    72
    Par défaut
    merci bien cantador

    je travaille avec delphi 7 , et composant smartquery

    la requette comme suit ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select a.numerocot|| cle(a.numerocot) as NUMERO, .............
     
      from tab_das a, tab_emp b
     where a.numero = b.numero
       and a.annee = '2015'
       and ....
        ......
    le problème est que l'affichage de a.numerocot|| cle(a.numerocot) est tres long dans le dbgrid, malgres que la taille ne dépasse pas de caractères

    voici un capture d'ecran :
    Nom : capture2.GIF
Affichages : 137
Taille : 31,4 Ko

    merci d'avance de votre collaboration.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    12 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 12 491
    Points : 33 713
    Points
    33 713
    Billets dans le blog
    45
    Par défaut
    Bonjour,

    pour moi NUMERO est un champ TEXT ,
    je ne comprend pas très bien le cle(a.numerocot) mais cela semble spécifique à ORACLE , ni le pourquoi d'une concaténation
    Si vous voulez une taille déterminée utilisez un CAST
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  5. #5
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mars 2006
    Messages : 219
    Points : 368
    Points
    368
    Par défaut
    Salut ,
    Si tu connais exactement la taille de la chaîne récupérée, tu peux fixer la propriété Size de ton TStringField tout simplement.
    "L'homme supérieur est celui qui a une bienveillance égale pour tous, et qui est sans égoïsme et sans partialité." [Confucius]
    "Celui qui n'évolue pas disparaît." [Charles Darwin]
    “Without requirements or design, programming is the art of adding bugs to an empty text file.” [Louis Srygley]

  6. #6
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    décembre 2014
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 97
    Points : 72
    Points
    72
    Par défaut
    merci beaucoup SergioMaster

    Bonjour,
    pour moi NUMERO est un champ TEXT ,
    je ne comprend pas très bien le cle(a.numerocot) mais cela semble spécifique à ORACLE , ni le pourquoi d'une concaténation
    oui , l'application interroge une BDD oracle , le problème c'est que s il s'agit une fonction dans le select de la raquette , le champs devient très long dans l'affichage dans un dbgrid, même sans concaténation.

    Si vous voulez une taille déterminée utilisez un CAST
    comment utilise cette fonction SVP

  7. #7
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    décembre 2014
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 97
    Points : 72
    Points
    72
    Par défaut
    merci Moez.B
    Salut ,
    Si tu connais exactement la taille de la chaîne récupérée, tu peux fixer la propriété Size de ton TStringField tout simplement.
    TStringField ne figure pas dans les propriétés de dbgrid

  8. #8
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mars 2006
    Messages : 219
    Points : 368
    Points
    368
    Par défaut
    Bonjour
    TStringField est un TField du TDataSet. Normalement, tu peux récupérer tous les champs de ta requête dans ton composant TSmartQuery. Tu vas pouvoir fixer la propriété de ton TField NUMERO.
    "L'homme supérieur est celui qui a une bienveillance égale pour tous, et qui est sans égoïsme et sans partialité." [Confucius]
    "Celui qui n'évolue pas disparaît." [Charles Darwin]
    “Without requirements or design, programming is the art of adding bugs to an empty text file.” [Louis Srygley]

  9. #9
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    mars 2005
    Messages
    3 555
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : mars 2005
    Messages : 3 555
    Points : 10 496
    Points
    10 496
    Billets dans le blog
    6
    Par défaut
    comment utilise cette fonction SVP
    Voici la première réponse (intéressante) à ce sujet lors de la recherche https://www.qwant.com/?q=oracle+cast : RTFM !
    Delphi 5 Pro - Delphi 10.3.2 Rio Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  10. #10
    Membre averti Avatar de cantador
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    mars 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mars 2006
    Messages : 568
    Points : 427
    Points
    427
    Par défaut azouzmenai24
    Bonjour,

    je ne connais pas bien le SQL Oracle mais
    ta requête met beaucoup de temps :
    Dans ce cas, il faut la démonter, la rendre la plus simple possible pour trouver où est la difficulté :

    - syntaxe
    - nombre d'enregistrements dans la table
    - positionnement d'un ou plusieurs index

    Je propose de transférer ta question vers le forum Oracle qui me semble plus approprié afin de répondre
    à ton problème.

  11. #11
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    décembre 2014
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 97
    Points : 72
    Points
    72
    Par défaut
    merci pour tous

    Bonjour
    TStringField est un TField du TDataSet. Normalement, tu peux récupérer tous les champs de ta requête dans ton composant TSmartQuery. Tu vas pouvoir fixer la propriété de ton TField NUMERO.
    j'ai resolu ce probleme avec cette explication ,

    merci encore pour tous.

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

Discussions similaires

  1. TQuery et taille des champs à afficher dans un DBGrid
    Par kurkaine dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/09/2006, 17h47
  2. Normes pour taille des champs (obs, libellé...)
    Par Kozher dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/08/2005, 00h46
  3. Taille des champs entres dans un stringGrid
    Par gilles641 dans le forum Composants VCL
    Réponses: 15
    Dernier message: 11/07/2005, 11h38
  4. [Delphi 2005/Oracle/ADO]Taille de champ incorrecte
    Par Frank dans le forum Bases de données
    Réponses: 20
    Dernier message: 15/04/2005, 15h12
  5. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 12h48

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