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 :

[dbexpress et dbgrille] Comment remplir une dbgrille dans le code ?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    ingénieur bases de données
    Inscrit en
    Juillet 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : ingénieur bases de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 52
    Par défaut [dbexpress et dbgrille] Comment remplir une dbgrille dans le code ?
    Bonjour!

    J'aimerais savoir comment remplir un dbgrille dans le code sans déposer un composant datasource sur la feuille.

    J'utilise un composant TSQLConnection que je crée dans le code.
    J'utilise alors la méthode execute du composant TSQLConnection, qui retourne un objet Pointer (le dernier argument de la liste).

  2. #2
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    utilise un TStringgrid

  3. #3
    Membre confirmé
    Profil pro
    ingénieur bases de données
    Inscrit en
    Juillet 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : ingénieur bases de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 52
    Par défaut [dbexpress et dbgrille] Comment remplir une dbgrille dans le code ?
    En fait, si j'utilise un TStringGrid, je vais devoir faire une boucle pour le remplir dans le code.

    Avec un dbgrid, il me faut simplement trouver le moyen d'affecter l'ensemble de donnée (DataSet) de la source de données (Datasource) du DBGrid avec l'ensemble de données résultats de ma requête (qui se trouve dans l'objet pointer).

    Mon problème c'est d'arriver à modifier le DataSource du DBGrid dans mon code.
    Merci pour ton aide

  4. #4
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Tdataset<-->Tdatsource<-->Tdbgrid, obligatoir
    si tu veux modifier ta requete dinamiquement aucun probléme, dbgrid refléte simplement les données qui existe dans le dataset, et Tdatasource sincronise les données enre Tdataset et les autres composant DB (TDBEDIT,TDBGRid,...)

  5. #5
    Membre confirmé
    Profil pro
    ingénieur bases de données
    Inscrit en
    Juillet 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : ingénieur bases de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 52
    Par défaut
    Tout a fait d'accord avec toi.

    Mais mon problème c'est justement que je veux modifier dynamiquement le DataSet du DataSource.

    J'utilise une fonction dans un DataModule qui permet d'exécuter les requête et de renvoyer les résultats:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function Tv_mdonnees.doSelect(strQuery: string; res:Pointer):boolean;
    begin
      try
        cnn1.Execute(strQuery, nil, res);
        result:=TRUE;
      except
        result:=FALSE;
      end;
    end;


    J'appelle alors cette fonction dans un formulaire, pour remplir le DataSet avec le résultat d'une requpête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v_mdonnees.doSelect('SELECT * FROM country;', @self.dbgrid1.DataSource.DataSet)
    Le résultat est que rien ne s'affiche dans ma grille.
    La table contient bien des données.

  6. #6
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Citation Envoyé par mkiba Voir le message
    v_mdonnees.doSelect('SELECT * FROM country;', @self.dbgrid1.DataSource.DataSet)
    .

    je répéte une dbgrid refléte simplement des données existant dans une Tdataset en passant par une Tdatasource
    combien de dataset tu as?
    normalment il y as un seul datasource a qui une dbgrid est lier,
    tu peut simlement changer la requéte pour changer tt
    par example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function  TDataModule2.ExecSQL(s:string):integer;
    begin
         Query1.Close;
         Query1.SelectSQL.Text:=s;
         try
           Query1.Open;
           Result:=1;
         except
           Result:=-1;
         end;
    end;
    dis ce que tu veux exactement, en peut te donner des solutions plus simple, bon nuit

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

Discussions similaires

  1. [XL-2007] Comment integrer une condition dans mon code sendkey
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2012, 16h36
  2. Comment interprété une EL dans un code JAVA
    Par geforce dans le forum JSF
    Réponses: 2
    Dernier message: 19/11/2011, 10h18
  3. comment inserer une image dans le code même
    Par SOPSOU dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/08/2007, 14h19
  4. Comment intégrer une image dans le code ?
    Par delphi+ dans le forum Delphi
    Réponses: 5
    Dernier message: 06/04/2007, 14h56
  5. Comment importer une DLL dans du code???
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 29
    Dernier message: 19/04/2006, 19h19

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