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

Composants VCL Delphi Discussion :

TDBGrid TClientDataSet TQuery et ORDER BY


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 54
    Points
    54
    Par défaut TDBGrid TClientDataSet TQuery et ORDER BY
    Bonjour,

    Est-ce que quelqu'un a été déjà confronté au problème suivant :

    J'ai des composants reliés de la manière suivante :
    TDBGrid <-- TDataSetProvider <-- TClientDataSet <-- TQuery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //Données à afficher
    cds.Close;
    Qy.SQL.Clear; Qy.SQL.Add(sql); Qy.Execute;
    cds.Open;
    //Taille & titre des colonnes
    for i := 0 to DBG.Columns.Count - 1 do begin
      DBG.Columns[i].Width := 100;
      DBG.Columns[i].Title.Alignment := taCenter;
      case i of
        0 : DBG.Columns[i].Title.Caption := 'Titre 1';
        1 : DBG.Columns[i].Title.Caption := 'Titre 2';
        else DBG.Columns[i].Title.Caption := 'Col '+DBG.Columns[i].FieldName;
      end;
    end;
    Mon soucis : la requête sql contenu dans le composant TQuery contient des ORDER BY mais n'est jamais repercuté dans l'affichage du DBGrid.
    J'ai regardé : pas de Index défini dans le ClientDataSet ni dans les propriétés du composant, ni dans le programme...

    J'ai repris le même modèle de code que dans d'autres modules/tutoriels qui eux marchent !!! mais pas dans mon module ?!?!?

    Avez-vous une idée ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    Si cela peut servir à quelqu'un :

    Pour résoudre mon problème, j'ai essayé :
    1 - Redemarrage de l'EDI : NO OK
    2 - Suppression des composants et recréation : NO OK
    3 - Manipulation des différents index : NO OK
    4 - Mettre à TRUE l'option [poRetainServerOrder] du DataSetProvider1.Options => enfin OK [eventuellement avec IndexName := '';]

  3. #3
    Membre confirmé
    Avatar de sur_uix
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 550
    Points
    550
    Par défaut
    Merci beaucoup, de vous êtres répondu à vous même,

    car j'ai eu le même problème avec Delphi 2009 et les composants de base de donnée DOA http://www.allroundautomations.com/doa.html
    sur une base de donnée UTF8.

    Le TclientDataSet, me plantais l'ordre dans le grid.

    Et grâce à votre message j'ai peu facilement corrigé le bug.

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

Discussions similaires

  1. TDBGRID - Couleur de fond d'une seule cellule
    Par cgo dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/09/2009, 10h16
  2. TQuery.post -> TSQLQuery ou TClientDataSet
    Par coucoucmoi dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/03/2008, 08h52
  3. [Kylix] MyBase et TClientDataSet
    Par lancelot69 dans le forum EDI
    Réponses: 1
    Dernier message: 09/09/2003, 21h47
  4. ORDER BY dans un ordre inhabituel
    Par Riam dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2003, 13h29
  5. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 11h27

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