Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mise à jour DBgrid à partir d'une requête SQL [ Base de données / MySQL ] (letrom)

lundi 5 mai 2008 à 09:58:32 | Mise à jour DBgrid à partir d'une requête SQL

letrom

Bonjour tout le monde,

J'ai un fiche avec les composants suivants :
    Ttable (Name : StockOrsud , TableName : stock_orsud.db)
    TdataSource (DataSet : StockOrsud, Name : DataSource1)
    TDBgrid (DataSource : DataSource1)
    Tquery (DataSource : Datasource1)

A la création de ma fiche, le DBGrid m'affiche bien le contenu de stock_orsud.db

Ensuite j'ai ajouté un TradioGroup (avec 3 boutons) et je veux lorsque l'on sélectionne un des boutons, une requête SQL soit effectuée et que le DBGrid m'en affiche le résultat.

        procedure TForm1.RadioGroup1Click(Sender: TObject);
        begin
             If RadioGroup1.ItemIndex=1 then
             begin
                  with query1 do
                  begin
                       close;
                       SQL.Clear;
                       SQL.add('select * from stock_orsud where Quantite < 2000');
                       try open;
                       except
                             showmessage('erreur');
                       end;
                  end;
             end;
             DbGrid1.Update;
        end;

Et malheureusement le DBGrid ne se modifie pas. J'ai évidemment fait des recherches avant de vous demander de l'aide mais tout ce que j'ai trouvé ne m'a pas fait avancer.

Je vous remercie par avance de vos lumières.

A+

lundi 5 mai 2008 à 18:38:24 | Re : Mise à jour DBgrid à partir d'une requête SQL

cantador

Membre Club

Bonjour letrom,
il peut y avoir bcp de choses..
déjà, est ce que le prog passe sur l'open (met un point d'arrêt) ?

et à la place de DbGrid1.Update;
mets query1.Refresh;

on verra la suite..

cantador


mardi 6 mai 2008 à 08:50:25 | Re : Mise à jour DBgrid à partir d'une requête SQL

letrom

Bonjour cantador et merci pour ta réponse

Malheureusement le fait de mettre query1.Refresh; ne modifie pas le contenu de mon DBGrid et en mettant un point d'arrêt dur "open", le prog y passe bien.

J'attends d'autres idées et bien sur je cherche de mon côté.

SVP aidez-moi !!!

Letrom

mardi 6 mai 2008 à 10:19:27 | Re : Mise à jour DBgrid à partir d'une requête SQL

Rematrix

Réponse acceptée !
C normale tu utilise qu'un seul dataset, tu doit mettre une pour Ttable et une pour Tquery, et le DBgrid relier avec dataset de Tquery pour qu'il s'affiche le résultat des requets, et évite close et open, met plus tôt active false et active true.

Matrix

mardi 6 mai 2008 à 10:29:45 | Re : Mise à jour DBgrid à partir d'une requête SQL

letrom

Salut Matrix,

merci beaucoup pour ta réponse, ça marche.

bonne journée

Letrom

mardi 6 mai 2008 à 15:53:17 | Re : Mise à jour DBgrid à partir d'une requête SQL

cantador

Membre Club

Bonjour letrom,

voilà un exemple très simple utilisant :
                                      1 compo ADOCoonexion
                                      1 compo ADOQuery
                                      1 compo DataSource
                                      1 DBGrid
                                      1 RadioGroup (avec 3 positions)

La table est 'Orders' de la base :
C:\Program Files\Fichiers communs\Borland Shared\Data\dbdemos.mdb

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    RadioGroup1: TRadioGroup;
    ADOQuery1OrderNo: TFloatField;
    ADOQuery1CustNo: TFloatField;
    ADOQuery1SaleDate: TDateTimeField;
    ADOQuery1ShipDate: TDateTimeField;
    ADOQuery1EmpNo: TIntegerField;
    ADOQuery1ShipToContact: TWideStringField;
    ADOQuery1ShipToAddr1: TWideStringField;
    ADOQuery1ShipToAddr2: TWideStringField;
    ADOQuery1ShipToCity: TWideStringField;
    ADOQuery1ShipToState: TWideStringField;
    ADOQuery1ShipToZip: TWideStringField;
    ADOQuery1ShipToCountry: TWideStringField;
    ADOQuery1ShipToPhone: TWideStringField;
    ADOQuery1ShipVIA: TWideStringField;
    ADOQuery1PO: TWideStringField;
    ADOQuery1Terms: TWideStringField;
    ADOQuery1PaymentMethod: TWideStringField;
    ADOQuery1ItemsTotal: TFloatField;
    ADOQuery1TaxRate: TFloatField;
    ADOQuery1Freight: TFloatField;
    ADOQuery1AmountPaid: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedureTForm1.FormCreate(Sender: TObject);
begin
  ADOQuery1.Open;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  try

    with ADOquery1.SQL do
    begin
      ADOquery1.close;
      case RadioGroup1.ItemIndex of
        0:
          begin
            Clear;
            Add('Select * from orders ');
            Add('Where PaymentMethod = ''Visa'' ');
          end;

        1:
          begin
            Clear;
            Add('Select * from orders ');
            Add('Where PaymentMethod = ''Credit'' ');
          end;

        2:
          begin
            Clear;
            Add('Select * from orders ');
            Add('Where PaymentMethod = ''MC'' ');
          end;
      end;

      ADOquery1.open;
    end;
  except

    showmessage('erreur');
  end;
end;
end.

Sans refresh, sans update et çà marche nickel

cantador




Cette discussion est classé dans : end, sql, requête, dbgrid, stock


Répondre à ce message

Sujets en rapport avec ce message

Problème avec le réaffichement d'un DbGrid (avec requête SQL) [ par Lennemi ] Dans mon dataModule j'utilise 2 type de tables :adoBudget(Tadotable) et adoSQLBudget(TadoQuery)J'utilise un DbGrid pour afficher une requête SQL de ad Requête SQL et ADO [ par mathieu57100 ] bonjour, j'ai un ptit prob avec mon appli, c'est ma 1ere ave une base de donnée...j'ai un TADOQuery qui a bine un DATAsource de spécifié et une connec Problème affichage requete SQL dans DBGrid [ par San35 ] Bonjour, J'ai une requete SQL basée sur plusieurs champs de plusieurs tables (avec jointures). Je travaille sur une base Access et avec l'objet ADOQue Problème affichage de requete sql dans dbgrid [ par San35 ] Bonjour, J'ai une requete SQL basée sur plusieurs champs de plusieurs tables (avec jointures). Je travaille sur une base Access et avec l'objet ADOQue Insertion de valeur dans une requête SQL!!! [ par Mask ] Au secours!!... Je viens de me mettre au delphi, après le VB...bah ouais histoire de tester la concurrence.. et je n'arrive pas à trouver la syntaxe affichage lors d'une requete sql [ par katrin ] Bonjour a tt le monde,j espere que qqun pourra m aider....g un probleme d'affichage dans ma dbgrid, lorsque j execute ma requete sql (que se soit un a DbListbox [ par ProphetKy ] Voila mon probleme, j'une table de client, c'est client sont affcihé dans une DBlistbox, mais lorsque je tape dans une edit des lettres, la listbox di MasterSource avec TQuery [ par psycomel ] Bonjour, Anciennement dans mon code, deux DBGRID étaient liés par la propriété masterSource du 2ième DBGRID.En effet le datasource du 2ième DBGRID éta Quelle requête SQL Access pour vérifier si un nom existe dans le champs nom d'une table ? [ par colorid ] Je repose la question précédente autrementJe dispose d'une table "Toto" qui possède un champ "Toto.Nom" (VARCHAR(32))Je veux vérifier que nom "Name" ( SQL... erreur [ par cmeme ] Merci encore pour ton aide: je vais commenter le probleme. En réalité, j'ai plusieurs bouton: Ajouter, Sélectionner, Modifier, Supprimer. Ce que


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.