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

C++Builder Discussion :

Utilisation DBGrid


Sujet :

C++Builder

  1. #1
    Invité(e)
    Invité(e)
    Par défaut Utilisation DBGrid
    bonjour,
    je développe sou c++ builder 6, et la base de donné est sous acess
    voila ma base de donné

    Memoire(*Code_pfe,Date,Datelimite,Titre,Resume,Mot-cles)
    Professeur(*Numprof,Nom,Prenom)
    Etudiant(*Num_etu,Nom,Prenom,Option)
    Memoire_prof(*(Code_pfe,Num_prof),Fonction)
    Memoir_etu(*(Code_pfe,Num_etu))
    * clé primaire
    (Fonction : président,encadreur,co-encadreur,examinateur)

    je voudrai mettre dans un DBGrid tout les Noms et Fonction des profs qui participe a une mémoire ?
    merci .

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Citation Envoyé par brakeche Voir le message
    voila ma base de donné

    Memoire(*Code_pfe,Date,Datelimite,Titre,Resume,Mot-cles)
    Professeur(*Numprof,Nom,Prenom)
    Etudiant(*Num_etu,Nom,Prenom,Option)
    Memoire_prof(*(Code_pfe,Num_prof),Fonction)
    Memoir_etu(*(Code_pfe,Num_etu))
    * clé primaire
    Utilise cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT Nom, Prenom, Fonction 
    FROM (Memoire
    INNER JOIN Memoire_prof
    ON Memoire.Code_pfe=Memoire_prof.Code_pfe)
    INNER JOIN Professeur
    ON Memoire_prof.Num_prof=Professeur.Numprof;

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    merci, j'ai tester ça et ça fonction
    maid je voudrai mettre ça sur fiche Maitre/détail
    c'est a dire pour une mémoire donner ?

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Alors il faut ajouter un WHERE (p.ex. pour le mémoire 122):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT DISTINCT Nom, Prenom, Fonction 
    FROM (Memoire
    INNER JOIN Memoire_prof
    ON Memoire.Code_pfe=Memoire_prof.Code_pfe)
    INNER JOIN Professeur
    ON Memoire_prof.Num_prof=Professeur.Numprof
    WHERE ON Memoire.Code_pfe=122
    ORDER BY Nom,Prenom;
    J'ai aussi ajouté un tri par nom puis prénom des prof.

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    je c'est mais je voudrai faire ça en Maitre/détail
    voici ce lien
    allez dasn la page 52
    http://http://loicyon.free.fr/download/bcppb6p.pdf

  6. #6
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    pour ta requête sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    select nom, fonction from Professeur, Memoire_prof
     
    where Professeur.Num_prof = Memoire_prof.Numprof
     
    group by Professeur.Num_prof
     
    order by nom
    tu as besoin de 4 composants : Dbgrid, Table, Dataset, Sql.

    les liaisons entre les composants sont simple a faire grâce à l'inspecteur d'objet.

  7. #7
    Invité(e)
    Invité(e)
    Par défaut
    est ce que vous pouvez me détailler ce que je doit faire dans l'inspecteur d'objet svp .?
    merci
    je voudrais le faire selon le principe de Maitre/détail ( cest a dire on cliquant sur le bouton pour avoir la memoire suivante la liste des prof change aussi )

  8. #8
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    ok mais il faudra qu'à l'avenir tu essaye de chercher aussi !
    c'est comme cela que l'on apprend !

    4 composants : DBGrid1, Table1, 2 Datasource, Query1.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sur ta Forme clique sur ton DBGrid1 puis dans l'inspecteur d'objet :
    
    choisir dans DataSource  : [DataSource1]
    
    Sur ta Forme clique sur ton Datasource1 puis dans l'inspecteur d'objet :
    
    choisir dans DataSet  : [Query1]
    
    clique sur SQL [TStrings] et place ta requête SQL
    
    Sur ta Forme clique sur ton Datasource2 puis dans l'inspecteur d'objet :
    
    choisir dans DataSet  : [Table1]
    
    Sur ta Forme clique sur ton Table1 puis dans l'inspecteur d'objet :
    
    si tu utilise l'odbc
    choisir dans DatabaseName ton DNS
    
    sinon
    choisir dans TableName  le nom de ton fichier MBD
    ( met ton fichier dans le dossier où se trouve ton projet
    
     Après avoir fais tout ces liens
    
    tu devra activer le compostant Query1 (Query1->Active = true )
    
    tu peux le faire via l'inspecteur d'objet pour tester ta requête SQL 
    sans compiler.
    Bonne continuation

Discussions similaires

  1. Utiliser dbgrid par code sans base de donnés
    Par bleuerouge dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/05/2008, 11h12
  2. Utilisation DBGrid et selection
    Par nassoft dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/11/2006, 14h28
  3. [D7] pourquoi utiliser un DBGrid ?
    Par raoulmania dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/11/2005, 14h37
  4. utiliser la touche SHIFT ou CTRL+A dans un DBGRID
    Par richard038 dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/10/2005, 09h06
  5. Écriture dans un DBgrid quand utilise un query comme dataset
    Par dcayou dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 22h22

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