home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Database / ejemplos / multiquery / cliente.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-03-04  |  1.9 KB  |  82 lines

  1. unit cliente;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Label1: TLabel;
  12.     Edit1: TEdit;
  13.     Label2: TLabel;
  14.     ComboBox1: TComboBox;
  15.     DBGrid1: TDBGrid;
  16.     DBGrid2: TDBGrid;
  17.     DBNavigator1: TDBNavigator;
  18.     DBNavigator2: TDBNavigator;
  19.     procedure FormCreate(Sender: TObject);
  20.     procedure ComboBox1Change(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31.  
  32. uses client2;
  33.  
  34. {$R *.DFM}
  35.  
  36. procedure TForm1.FormCreate(Sender: TObject);
  37. begin
  38.  DataModule2.clientdataset3.Open;
  39.   while not Datamodule2.Clientdataset3.EOF do
  40.   begin
  41.     Combobox1.Items.Add(Datamodule2.ClientDataset3.FieldByName('Job_Code').AsString);
  42.     Datamodule2.Clientdataset3.Next;
  43.   end;
  44.   Datamodule2.Clientdataset3.Close;
  45. end;
  46.  
  47. procedure TForm1.ComboBox1Change(Sender: TObject);
  48. begin
  49.   with Datamodule2.Clientdataset1 do
  50.   begin
  51.    {fetchparams lo utilizamos para que nuestro
  52.     programa internamenete sepa los parametros que hay en el servidor
  53.     ya que si no llamamos a FetchParams no encontrara
  54.     los parßmetros}
  55.    if Params.Count = 0 then FetchParams;
  56.     {establecemos los parßmetros.}
  57.     Params.ParamByName('Job_Code').AsString :=
  58.       combobox1.Text;
  59.     Params.ParamByName('Job_Grade').AsInteger :=
  60.       StrToInt(Edit1.Text);
  61.     {Si el clientdataset de employee no esta activo lo
  62.      abrimos. Al abrir el dataset envia los parßmetros
  63.      al servidor.  Si este continua abierto llama a
  64.      SendParams para enviar un nuevo valor para el parßmetro
  65.      al servidor y refresca el dataset}
  66.     if not Active then
  67.       Open
  68.     else begin
  69.       SendParams;
  70.       Refresh;
  71.     end;
  72. end;
  73.   if not Datamodule2.clientdataset2.Active then
  74.     datamodule2.clientdataset2.Open;
  75.  
  76. end;
  77.  
  78. end.
  79.  
  80.  
  81.  
  82.