ParQForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit ParQForm;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, DBTables, DBLookup,
  6.   Grids, DBGrids;
  7. type
  8.   TQueryForm = class(TForm)
  9.     DataSource1: TDataSource;
  10.     Query1: TQuery;
  11.     ListBox1: TListBox;
  12.     DBGrid1: TDBGrid;
  13.     Splitter1: TSplitter;
  14.     Query2: TQuery;
  15.     DBNavigator1: TDBNavigator;
  16.     procedure FormCreate(Sender: TObject);
  17.     procedure ListBox1Click(Sender: TObject);
  18.     procedure FormDestroy(Sender: TObject);
  19.     procedure Query1BeforePost(DataSet: TDataSet);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25. var
  26.   QueryForm: TQueryForm;
  27. implementation
  28. {$R *.DFM}
  29. procedure TQueryForm.FormCreate(Sender: TObject);
  30. begin
  31.   // get the list of continents
  32.   Query2.Open;
  33.   while not Query2.EOF do
  34.   begin
  35.     ListBox1.Items.Add (Query2.Fields [0].AsString);
  36.     Query2.Next;
  37.   end;
  38.   ListBox1.ItemIndex := 0;
  39.   // prepare and open the first query
  40.   Query1.Prepare;
  41.   Query1.Params[0].Value := ListBox1.Items [0];
  42.   Query1.Open;
  43. end;
  44. procedure TQueryForm.ListBox1Click(Sender: TObject);
  45. begin
  46.   Query1.Close;
  47.   Query1.Params[0].Value :=
  48.     ListBox1.Items [Listbox1.ItemIndex];
  49.   Query1.Open;
  50. end;
  51. procedure TQueryForm.FormDestroy(Sender: TObject);
  52. begin
  53.   Query1.Close;
  54.   Query1.Unprepare;
  55. end;
  56. procedure TQueryForm.Query1BeforePost(DataSet: TDataSet);
  57. var
  58.   StrNewCont: string;
  59. begin
  60.   // add the continent, if not already in the list
  61.   StrNewCont := Query1.FieldByName ('Continent').AsString;
  62.   if ListBox1.Items.IndexOf (StrNewCont) < 0 then
  63.     ListBox1.Items.Add (StrNewCont);
  64. end;
  65. end.