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 :

[SQLQuery] Modifi� la requ�te SQL et Actualis� le DBGrid.


Sujet :

C++Builder

  1. #1
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut [SQLQuery] Modifi� la requ�te SQL et Actualis� le DBGrid.
    Bonsoir,
    Je penses que le titre est assez explicite
    Je dispose d'un SQLQuery et tout le brol qui va avec et un DBGrid et j'aimerais, quand je clic sur un boutton, que la requ�te change (par exemple au lieu de "SELECT * FROM Table_1" ca devienne "Table_2").

    Comment puis-je faire ?

    Amicalement et en vous remerciant d'avance,

    Nadd.

  2. #2
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    t'as pas un open ou refresh sur ton SQLQuery?

  3. #3
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    Voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void __fastcall TMDIChild2::ToolButton2Click(TObject *Sender)
    {
    SQLQuery1->SQL->Text = "SELECT * FROM Table_1";
    }
    Mais bon ca ne produit rien du tout.
    Quand je fais un SQLQuery1->Refresh(); il me lance une erreur : ... Closed DataSet. Et j'ai beau mettre un SQLQuery1->Open() au d�but du code rien n'y fais.

    En vous remerciant d'avance,

    Nadd.

  4. #4
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    Bon, je connais pas ton compo mais avec ce que j'utilise pour ajouter une s�quence SQL je fais �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Query->SQL->Clear();
    Query->SQL->Add("ton SQL");
    Query->Open();
    en esp�rant t'aider

  5. #5
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TMDIChild2::ToolButton2Click(TObject *Sender)
    {
    SQLQuery1->SQL->Clear();
    SQLQuery1->SQL->Add("SELECT * FROM Table_1");
    SQLQuery1->Open();
    }
    Aucune erreur se produit lorsque je clic sur le boutton. Mais rien ne se produit

    Cordialement,

    Nadd.

  6. #6
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    ah...
    on est bien d'accord que votre DBGrid est li� sur un datasource qui est lui li� sur votre SQLQuery?


    Y'a bien un moment o� il y a quelque chose dans votre DbGRid?

  7. #7
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut


    Mon DBGrid est li� � mon DataSource, qui est li� � un ClientDataSet, qui lui est li� � un DataSetProvider qui lui est li� au SQLQuery qui lui est li� � mon SQLConnection.

    Si je relie directement mon DataSource � mon SQLQuery ca fait une erreur : "Unidirectional DataSet blablabla..." (peut-�tre qu'un param�tre est mal configurer.)

    Amicalement,

    Nadd.

    PS: Oui quelque chose s'affiche sur le DBGrid...

  8. #8
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    Quelqu'un n'aurait-il pas la solution � ce petit probl�me ?

    Est-il possible de faire fonctionner un DBGrid avec un DataSource, un SQLQuery et un SQLConnection sans avoir le probl�me suivant :

    Operation not allowed on a unidirectional dataset
    En vous remerciant d'avance,

    Nadd.

  9. #9
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    c'est quoi ton SQL? parce que le message est assez explicite.
    de plus, sur ton dataset, doit y avoir une proprit� Unidirectionnal...mets l� � false pour voir

  10. #10
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    Ahhhhhhhhhhh
    J'ai tout recommencer mais cette fois si � partir d'un SimpleDataSet. L�, aucun probl�me de "Unidirectional...".

    Lorsque je tente de modifie la "Commande Texte" (Requ�te SQL), il me r�pond que l'on ne peut �ffectuer cette op�ration avec un DataSet ouvert.

    Voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void __fastcall TMDIChild2::ToolButton2Click(TObject *Sender)
    {
    SimpleDataSet1->DataSet->CommandText = "SELECT * FROM Table_1";
    }
    Amicalement,

    Nadd.

  11. #11
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut
    ah tu utilises dbExpress...

    essaye avec un Close() avant..


    (pour la question d'avant c'est normal TSQLQuery ne peut etre li� directement de cette mani�re il faut passer par un TSQLClientDataSet et non ClienDataSet....)

  12. #12
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    Voici mon nouveau code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    void __fastcall TMDIChild2::ToolButton2Click(TObject *Sender)
    {
    SimpleDataSet1->DataSet->Close();
    SimpleDataSet1->DataSet->CommandText = "SELECT * FROM Table_1";
    }
    Rien n'y fais. Le DBGrid ne change pas d'un poile.
    J'ai eu beau mettre un Open() apr�s, rien ne change

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TMDIChild2::ToolButton2Click(TObject *Sender)
    {
    SimpleDataSet1->DataSet->Close();
    SimpleDataSet1->DataSet->CommandText = "SELECT * FROM Table_1";
    SimpleDataSet1->DataSet->Open();
    }
    Cordialement,

    Nadd.

    Ps (Djob) : Je n'ai trouver aucune TSQLClientDataSet... Seulement un TClientDataSet dans la partie DataAccess

  13. #13
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut
    Nadd ( j'utilise BCB6 Entreprise et je n'ai pas du tout les memes composants que toi...donc je t'aide � l'aveugle...peut �tre serait il bon que tu precises ta configuration,la version et les composants que tu utilises etc, afin de cibler les personnes suceptibles de mieux t'aider..)

    Juste un truc :

    SimpleDataSet : est ce un descendant de TDataSet ?

    si oui, essaye de faire directement :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    SimpleDataSet1->Close();
    SimpleDataSet1->DataSet->CommandText = "SELECT * FROM Table_1";
    SimpleDataSet1->Open();

  14. #14
    Membre confirm� Avatar de Nadd
    Profil pro
    �tudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Par d�faut
    J'ai trouverrrrrrrr !

    Voici le bon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    SimpleDataSet1->Close();
    SimpleDataSet1->DataSet->Close();
    SimpleDataSet1->DataSet->CommandText = "SELECT * FROM Table_1";
    SimpleDataSet1->DataSet->Open();
    SimpleDataSet1->Open();
    Il me parait louche mais il fonctionne !

    Merci beaucoup de votre pr�cieuse aide

    Cordialement,

    Nadd. ^^

    PS: Lorsque je n'utilique que SimpleDataSet1->Close(); et Open(); il me dit qu'il ne peux effectuer l'op�ration avec un DataSet ouvert.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Modifier une requ�te SQL
    Par islem2007 dans le forum Bases de donn�es
    R�ponses: 1
    Dernier message: 07/04/2008, 09h04
  2. [XI] Modifier la requ�te SQL
    Par kwedus dans le forum SAP Crystal Reports
    R�ponses: 6
    Dernier message: 08/08/2007, 18h58
  3. Modifier une Requ�te SQL
    Par CharleL�o dans le forum Bases de donn�es
    R�ponses: 5
    Dernier message: 04/02/2007, 13h27
  4. [Crystal Report 10]Modifier la requ�te SQL
    Par gwen-al dans le forum SAP Crystal Reports
    R�ponses: 3
    Dernier message: 09/11/2004, 10h21
  5. [Crystal Reports 9] Modifier la requ�te SQL d'un �tat
    Par VVE dans le forum SAP Crystal Reports
    R�ponses: 3
    Dernier message: 21/10/2003, 10h47

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