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 :

Comment peut-on récuperer la valeur de la cellule sélectionnée pour une requête SQL ?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1
    Par défaut Comment peut-on récuperer la valeur de la cellule sélectionnée pour une requête SQL ?
    Bonjour,
    Comment peut-on récuperer lorsqu'on clique sur la cellule la valeur d'un DBGrid et l'utiliser dans un SQL?
    je m'explique:
    Mon DBGrid affiche C=la clé unique, N=Nom.
    J'ai vu un truc dans la FAQ que pour récupérer cette valeur, il faut faire:
    Edit1.Text := DBGrid1.Columns[0].Field.AsString;

    Je veux récupérer la valeur de C et l'utiliser dans un Query Q1 tel que:
    Q1.SQL.Add('Select C from table');
    Delphi m'indique que C n'a pas de valeur par défaut.
    quelqu'un peut-il m'aider?
    Merci

  2. #2
    Membre émérite
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Par défaut
    J'ai pas tout compris.
    C'est ça que tu veux faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Q1.SQL.Add('Select '+DBGrid1.Columns[0].Field.AsString+' from table');
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    Si ce que tu veux c'est recuperer la valeur du champs "C" de ta premiere requete pour l'utiliser dans une autre ??

    Tu doit pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBGrid.DataSource.DataSet.FieldByName('C').AsString;

  4. #4
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    D'abord, j'ai l'impression que tu n'as pas utilisé ta valeur au bon endroit dans ton sql.
    Le format d'un SELECT c'est :
    SELECT <Nom des champ que tu souhaite récupérer> FROM <Nom de la table> WHERE <Condition>
    ou, si tu veux tous les champs de ta table :
    SELECT * FROM <Nom de la table> WHERE <Condition>
    C'est sans doute après le WHERE que tu dois avoir besoin de C :
    SELECT champ1,champ2,champ3 FROM TaTable WHERE (champ1=Valeur_de_C)
    Un exemple,
    Dans l'évènement OnCellClick de ton DBGrid, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    var C:string;
    begin
      C:=DBGrid1.Columns[0].Field.AsString; 
     
      if Q1.Active then Q1.Close; // sinon on ne peu pas faire ce qui suit...
      Q1.SQL.Text:='Select champ1,champ2,champ3 FROM TaTable WHERE (champ1='+C+')';
      Q1.Open;
    end;
    Pardon si je me suis trompé...

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

Discussions similaires

  1. [PHP 5.4] Insérer des valeurs saisies par l'utilisateur dans une requête SQL
    Par B.Berthod dans le forum Langage
    Réponses: 1
    Dernier message: 22/01/2015, 09h28
  2. Réponses: 2
    Dernier message: 22/10/2013, 16h57
  3. Réponses: 9
    Dernier message: 15/03/2013, 16h18
  4. Réponses: 4
    Dernier message: 28/07/2009, 12h32
  5. Réponses: 3
    Dernier message: 28/08/2007, 09h52

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