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 : 47
    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 confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    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 : 47
    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 : 356
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 retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    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
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, 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 : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 219
    Points : 370
    Points
    370
    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 : 47
    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 : 47
    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 : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 219
    Points : 370
    Points
    370
    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 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    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 11.3 Alexandria 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 confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    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 : 47
    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, 16h47
  2. Normes pour taille des champs (obs, libellé...)
    Par Kozher dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/08/2005, 23h46
  3. Taille des champs entres dans un stringGrid
    Par gilles641 dans le forum Composants VCL
    Réponses: 15
    Dernier message: 11/07/2005, 10h38
  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, 14h12
  5. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48

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