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 :

problème avec le composant TSQLQuery


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut problème avec le composant TSQLQuery
    Bonjour ,

    je tente de faire un simple select avec une condition where afin de recupérer le nom dans un champ texte.

    j'utilise donc le composant TSQLQuery de DBExpress

    je sais ma connexion est correcte puisque j'ai pu obtenir le résultat que je voulais avec le composant TSQLDataSet ...

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
       DataModule2.SQLConnection1.Connected := true;
       memo.Lines.Clear;
       DataModule2.SQLQuery1.SQL.Clear;
       DataModule2.SQLQuery1.Active := true;
       DataModule2.SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
     
      memo.Lines.Append(DataModule2.SQLQuery1.FieldByName('LAST_NAME').AsString);
       DataModule2.SQLConnection1.Connected := false;
    end;
    l'erreur que j'obtiens est la suivante


    le projet select.exe a provoqué une classe d'execption .... avec le message 'Requête , nom de table ou nom procédure manquant' ....

    aurais-je oublié un composant ???

    je n'ai mis que la composant TSQLConnection et TSQLQuery ..

    Merci

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut Re: problème avec le composant TSQLQuery
    Citation Envoyé par vbcasimir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
       DataModule2.SQLConnection1.Connected := true;
       memo.Lines.Clear;
       DataModule2.SQLQuery1.SQL.Clear;
       DataModule2.SQLQuery1.Active := true; // <----- ICI l'erreur
       DataModule2.SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
     
      memo.Lines.Append(DataModule2.SQLQuery1.FieldByName('LAST_NAME').AsString); // <---- c'est Add pas Append
       DataModule2.SQLConnection1.Connected := false;
    end;

    tu devrais ecrire :

    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
     
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      With DataModule2 do
      begin
       SQLConnection1.Connected := true;
       memo.Lines.Clear;
       SQLQuery1.Close;
       SQLQuery1.SQL.Clear;
       SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
       SQLQuery1.open;
      memo.Lines.Add(SQLQuery1.FieldByName('LAST_NAME').AsString); 
       SQLConnection1.Connected := false;
      end;
    end;
    En fait tu ouvrais la requete avant d'avoir mis ce qu'elle devait faire.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut
    effectivement j'ai encore besoin de comprendre comment fonctionne les composants en fait je ne voyais cela comme ça lorsque j'ai écris


    ataModule2.SQLQuery1.Active := true;
    je pensais que cela se traduisait par je rend le composant actif prêt à executer une requête .. alors qu'en fait ça veut dire j'execute la requête passer en paramétre à la propriété SQL .. je pense que c'est un peu ainsi qu'il faut le voir

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    oui en gros

    Active := False; -> close; (Fermeture du composants, des connexions, etc..)
    Active := True; -> open; (Activation d'un peu tout)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut
    par contre quelle va être la différence (si il y en a une) entre le fait de fermer la connexion en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DataModule2.SQLQuery1.close
    et


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    DataModule2.SQLQuery1.active := false;
    reciproquement pour l'ouverture ?

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    A ma connaissance aucune, pour moi c'est plus simple d'ecrire Close/Open, puis visuellement on les repère plus facilement qu'un Active := True/False;

    Enfin, c'est personnel ^^, je me suis jamais posé la question. Regarde dans l'aide de delphi c'est peut être indiqué
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre éclairé Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Par défaut
    c'est déjà fait mais je n'ai rien lu qui m'explique la différence ...

    bon en attendant je vais utiliser l'un ou l'autre ...


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

Discussions similaires

  1. Problème avec un composant ComboBox
    Par florette dans le forum Composants VCL
    Réponses: 4
    Dernier message: 08/05/2006, 13h07
  2. Problème avec le composant JScrollPane
    Par vidocq dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/04/2006, 09h02
  3. Problème avec un composant fait maison
    Par gandf dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/07/2005, 13h30
  4. Problème avec le composant TXMLDocument
    Par kurul1 dans le forum C++Builder
    Réponses: 9
    Dernier message: 14/04/2005, 15h36
  5. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17

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