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 :

Requête: Comment ça marche ?


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut Requête: Comment ça marche ?
    salut tt le monde
    j'ai un programe dans le quelle je veut utilisé des requette
    alor j'ai placer les composant (Ttable,Query1,Tdatasource) dans ma Tform
    mes ou doije ecrire le code de la requette?
    merci bcp

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    un composant TTable n'est pas fait pour recevoir une requête SQL mais un nom de table, c'est un composant particulier qui pour un nom de table va ramener tout le contenu de la table sans filtre (condition WHERE) sur les lignes.

    Pour utiliser une requête SQL pour remonter un ensembles d'enregistrements de la base de données, vous devez utiliser un composant de TQuery et renseigner votre requête dans la propriété SQL de ce dernier.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut Aka Guymelef
    merci pr votre répence
    mais esque vous pouvé m'aidé a ecrire une premiére requette ??
    j'ai pa trouvé de cour sur le sujet
    merci bcp

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par stfanny31 Voir le message
    j'ai pa trouvé de cour sur le sujet
    C'est que vous n'avez pas bien chercher -> Le SQL de A à Z

    PS : merci de faire attention à votre orthographe.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 192
    Points
    192
    Par défaut
    Un petit exemple :
    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
     
    var
      maQuery : TQuery;
    begin
      maQuery := ... //initialisation de la conexion (si l'objet est sur la forme, tu ne dois plus créer à chaques fois le tquery et sa conexion).
      maQuery.sql.texte := 'select * from maTable';
      maQuery.open; //pour un update, insert, ...tu dois faire maQuery.ExecSQL
      //tu peux parcourir le resultset avec une boucle du genre
      while not maQuery.eof do
        begin
          ...
          maQuery.Next;
        end;
      maQuery.free; //si créé en local.
    end;
    Tu peux le faire, tu veux le faire tu vas le faire Bref, soyons positif

  6. #6
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    Mr Aka Guymelef merci
    je vais m'y mettre je ss trés en retad
    a vous aussi dd_garion grand merci
    esque vous pouvé me dir comment voir tt ca dans mon DBGrid
    merci bcp

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Dans la logique un composant type DBGrid (mais aussi DBEdit etc...) ont besoin d'être connecté avec un composant TDataSource (via leur propriété DataSource), le composant TDataSource doit être connecté avec le DataSet (TTable ou TQuery) qui contient les enregistrements.

    Une fois ces connexions faites, il est possible d'afficher les données visuellement en spécifiant les colonnes dans le DBGrid et en les liant via FieldName aux champs dans le DataSet.

    Je suis sûr qu'il y a pleins de tutos là-dessus en cherchant ADO
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  8. #8
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut Aka Guymelef
    j'ai mis une table
    un datasource lie a la table par Dataset
    un DBGrid1 lier au datasource par datasource
    un Query1 dans le quelle j'ai mis le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM etat 
    WHERE num='3'
    j'ai mis activat=true
    un bouton pr lancer ma requette
    que doi'j écrire dans mon bouton
    merci bcp

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Dans le code du bouton vous devez faire un Query1.Open pour exécuter la requête SQL.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  10. #10
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    Cher Aka Guymelef merci
    j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure Tf1.Button1Click(Sender: TObject);
    begin
    Query1.Open;
    end;
    mais mon DBGrid1 n'a pas changé ,il n'a méme pas séléctionné mon enregistrment
    merci bcp

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Le mieux je penses c'est que vous essayiez de suivre un tutoriel du site pour mieux comprendre toute la logique de fonctionnement comme celui-ci par exemple.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  12. #12
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut Bonjour..
    Citation Envoyé par stfanny31 Voir le message
    Cher Aka Guymelef merci
    j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure Tf1.Button1Click(Sender: TObject);
    begin
    Query1.Open;
    end;
    mais mon DBGrid1 n'a pas changé ,il n'a méme pas séléctionné mon enregistrment
    Les conditions qui peut engendré ceci sont :
    1) Votre table est vide.
    2) La requête exécuté n'a aucun résultat (aucun tuple)
    3) Votre "DBGrid1" n'est pas relié à un TDataSource !!
    -> pour Relier votre "Query1" il vous faut un "DataSource" !!
    -> puis, à travers la propriété "DataSet" relier le "Query1"
    et la liéson avec le DBGrid sera avec le DataSorce.

    Bon Courage..
    ______________________________________________________________________
    Le sketch qui m'a marqué le plus! écoutez les programmeurs : Site de Yan Marchal

  13. #13
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut +bsdocuments+
    merci bcp
    vous avier raison j'ai mal relier le datasource au "Query1"
    cela marche trés bien
    et voici le code que j'ai mis dans mon bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure Tf1.Button1Click(Sender: TObject);
    begin
    Qfinal.Active;
    Qfinal.Open;
    end;
    merci bcp

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Qfinal.Active:=True; ou Qfinal.Open;
    pas les deux , c'est pas la peine
    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

  15. #15
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut
    merci a tous
    mon programe et entrain de prendre forme
    question :
    comment pui'je connaitre le nbr de enregistrement qui on satisfé ma requette
    merci bcp

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bien que je sois résolument contre
    QFinal.recordCount

    il vaut mieux faire une seconde requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(*) 
    FROM etat 
    WHERE num='3'
    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

  17. #17
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut Bonjour..
    Citation Envoyé par stfanny31 Voir le message
    question :
    comment pui'je connaitre le nbr de enregistrement qui on satisfé ma requette
    Une simple ligne c'est faisable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShowMessage('Nombre des enregistrements : '+IntToStr(Query1.RecordCount));
    a+
    ______________________________________________________________________
    Le sketch qui m'a marqué le plus! écoutez les programmeurs : Site de Yan Marchal

  18. #18
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    merci bcp tt le monde
    ce code marche a merveille
    merci bcp

  19. #19
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut copier un enregistrement
    salut
    maintenant que j'ai séléctionné l'enregistrement que je veux esque je peut le copier a la fin de ma table ?
    je veux le copier a la fin et le suprimé de la ou il été
    esque c'est fesable
    merci bcp

  20. #20
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par stfanny31 Voir le message
    salut
    maintenant que j'ai séléctionné l'enregistrement que je veux esque je peut le copier a la fin de ma table ?
    je veux le copier a la fin et le suprimé de la ou il été
    esque c'est fesable
    1er
    maintenant que j'ai séléctionné l'enregistrement que je veux esque je peut le copier a la fin de ma table ?
    Si l'enregistrement est de la source "Query1" donc, suit ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      Table1.Insert;
      Table1['champs_1']:=Query1['champs_1'];
      Table1['champs_2']:=Query1['champs_2'];
      Table1['champs_3']:=Query1['champs_3'];
      .
      ..
      ....
      Table1.Post;
    Sinon, si tu veux dire par ceci..
    je veux le copier a la fin et le suprimé de la ou il été
    il faut savoir que l'ordre n'a aucun sens
    car c'est automatiquement fait par le SGBD
    et le seul facteur c'est la cléf de table que vous
    utilisée qui peut indiquer l'ordre dans la table.

    a+
    ______________________________________________________________________
    Le sketch qui m'a marqué le plus! écoutez les programmeurs : Site de Yan Marchal

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  2. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  3. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  4. Réponses: 8
    Dernier message: 24/07/2003, 10h45
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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