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 :

Dans quel composant stocker le resultat d'une requette


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut Dans quel composant stocker le resultat d'une requette
    J'ai defini la facon generale de gerer mon programme les Forms sont crees, j'utilise trois composants seulement, ADOConnection, ADOCommande, ADOQuery, et j'affiche dans des TEdit mais valeurs a envoyer ou recues, mais il reste une chose qui me tracasse si je fais une requette sur Auteur par exemple et qu'il y a plusieurs reponses quel composant utiliser pour stocker le resultat afin de pouvoir lire tous les Auteurs de la requette afin de trouver celui qui correspond sachant que je visualiserais dans les TEdits les valeurs.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Bonjour Blondelle
    Tu peux mettre ça dans un combobox ou directement dans un DBcombo box plugué sur ton dataset (qui contient la requête en question)

    Ou alors avec un DBGrid ce qui te permet d'afficher plus de choses et ton utilisateur clique que la ligne qui l'intéresse (c'est plus ergonomique et plus facile à faire...)
    Ex: un Clic et tu montre la couverture du livre, deux clic et il valide sa sélection...

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Merci de ta reponse Fbartolo:
    Je n'utiliserais le composant que pour le stockage du resultat de la requette, il ne sera pas visible, l'affichage se fera dans des TEdits uniquement.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Tu as aussi le DBedit. mais bon,

    met une DBgrid en non visible.. l'avantage c'est le lien direct avec ta requête

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Est ce que je peu l'utiliser avec uniquement mes trois composants ADOConnection, ADOCommande et ADOQuery?

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Tu devras uniquement rajouter un DbSource connecté à ton AdoQuery ou AdoCommande, c'est tout, et en plus tu pourra mettre un Db navigate pour l'utilisateur (tout ça c'est automatique)

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    La base n'est pas sur un serveur et n'est pas prevue pour les connections multiples elle ne sert que de stockage monoposte mono utilisateur.
    Ce que j'ai du mal a saisir c'est comment sont chaines les composants, pour ADOConnection, ADOCommand les noms sont parlant pour les autres je ne vois pas leur utilite

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    DataSource est une source de données qui interface ton dataset(et le query contenu) avec un visuel comme un dbgrid.

    Si l'utilisateur se déplace dans le Dbgrid, automatiquement si tu demandes un Dataset->fielbyname("Nom")->AsString par exemple, cela te donnera directement la valeur pointée par l'utilisateur.

    De la même façon si tu lies le DbNavigate la navigation (début, fin, next, last..) te positionne automatiquement sur l'enregistrement retenu par le user. Les recherches se passent pareil.

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Apparament le DbNavigate est plus souple d'utilisation que le Dbgrid.

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Le Navigate te permet simplement de te déplacer, mais si tu n'as pas de visuel utilisateur (DBedit, DbCombo, DbDrid,..) l'utilisateur ne saura pas ce qu'il fait)

    Le DbGrid est le vusuel contenant les données présentées au user.

    Ouvre un nouveau projet, sans code et met tous ces composant lié à un Dataset, tu verras c'est simple à utiliser et cela te permettra de voir si cela répond à ton besoin.

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Je viens de poser le DbNavigate j'etais a cote de la plaque.
    Je vais voir comment je peu utiliser ces composants en mode invisible, et afficher les donnees dans les TEdits.

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Tu peux expliquer pourquoi tu veux absolument utiliser un TEdit ??

  13. #13
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Fbartolo a ecrit:
    Tu peux expliquer pourquoi tu veux absolument utiliser un TEdit ??
    J'ai fais des essais, pour la lecture pas de probleme mais je n'arrive pas a ecrire dans un DBedit.

  14. #14
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 525
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 525
    Par défaut
    Dans quel composant stocker le resultat d'une requette
    Pourquoi prendre de controles ? Avec des TStringList c'est pas mieux ?

    Avec un composant cela va ralentir parce que le composant est rafraichi à chaque fois...
    BOn enfin libre à toi..

  15. #15
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    mais je n'arrive pas a écrire dans un DBEdit
    Mais qu'est ce qui bloque avec les DBEdits ?
    Bien évidemment il te faut renseigner les propriétés DataSource et DataField (de manière dynamique ou dans l'EDI, en fonction des cas), mais cela est assez évident et ne doit pas être le problème ... sauf qu'il te faut disposer d'un composant TDataSource (comme le disait FBartolo, je crois)

    En revanche, si tu veux retraiter les affichages dans ces composants, tu peut travailler sur les évènements du TDataSource justement.
    Un petit exemple tout bête, avec OnDataChange du TDataSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void __fastcall TForm2::DataSource1DataChange(TObject *Sender, TField *Field)
    {
    if (DBEdit1->Field != NULL)
    {
         DBEdit1->Text = LowerCase(DBEdit1->Field->AsString);
    }
    }
    En espérant t'aider,
    @+


    //mais j'ai peut être pas tout pigé de ce qu'il fallait chercher ... ... un peu l'impression d'être hors sujet moi ...

  16. #16
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Sunchaser:
    Je pensais m'en servir pour modifier, inserer, supprimer des enregistrements car la presentation de ma page ecran et la copie d'un document papier, il ne faut pas perturber les futurs utilisateurs

  17. #17
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Tu n'as pas besoin d'écrire dans le DBEdit, même si c'est possible comme dans la modification de casse proposée par Sunsaser.

    C'est un controle offert à l'utilisateur, qui peut modifier le contenu qui sera directement affecté à l'enregistrement en cours, autement dit dans ton DataSet. (remplace le Edit()...Post() du dataset)

    Maintenant si tu veux des contrôles de saisie, tu peux aussi opter pour un DBLookupEdit qui controlera la saisie par rapport au contenu d'une autre table de référence ou une Stringlist interne.

  18. #18
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Citation Envoyé par blondelle
    Salut Sunchaser:
    Je pensais m'en servir pour modifier, inserer, supprimer des enregistrements car la presentation de ma page ecran et la copie d'un document papier, il ne faut pas perturber les futurs utilisateurs
    Donc plusieurs DbEdit avec des boutons de déplacement entre record + del() et Append() ou une barre de navigation

  19. #19
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Merci Fbartolo:
    Je vais voir ce que je peu faire, pour le DBLookupEdit il ne fait pas parti de la panoplie BCB6 j'ai DBLookupListBox et DBLookupComboBox

  20. #20
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Autant pour moi (pour le Dblookup.. )
    Cela dit on peut faire des trucs géniaux avec la série xxlookup (changement dynamique de choix pour l'utilisateur suivant contexte, proposition de saisie sur premier caractères...)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/03/2012, 16h37
  2. Afficher une requete dans quel composant
    Par KOUTO dans le forum Bases de données
    Réponses: 9
    Dernier message: 15/12/2006, 18h20
  3. Stocker le résultat d'une commande
    Par vinzzzz dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 16/09/2006, 16h28
  4. [SQL] Stocker le resultat d'une requette
    Par zulot dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 04/06/2006, 11h52
  5. stocker le resultat de 2 requettes dans un fichier
    Par Issam dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/03/2005, 10h06

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