main.~pas

来自「Delphi7数据库开发教程,包含该书21套实例」· ~PAS 代码 · 共 96 行

~PAS
96
字号
unit main;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    cbbField1: TComboBox;
    Label1: TLabel;
    cbbRel1: TComboBox;
    edtValue1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    cbbRelation: TComboBox;
    Label4: TLabel;
    Label5: TLabel;
    cbbField2: TComboBox;
    cbbRel2: TComboBox;
    Label6: TLabel;
    edtValue2: TEdit;
    Label7: TLabel;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Query1: TQuery;
    DataSource2: TDataSource;
    Table1: TTable;
    btnQuery: TButton;
    procedure btnQueryClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    function GetParams:String;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnQueryClick(Sender: TObject);
var s:string;
begin
  if GetParams<>'' then ;
     s := 'Select * from customer where ' + GetParams;
  with Query1 do
  begin
    Close;
    DatabaseName := 'DBDEMOS';
    SQL.Clear;
    SQL.Add(s);
    Open;
  end;
end;

//根据输入的参数生成多条件查询条件
function TForm1.GetParams:String;
var s:string;
begin
  if cbbField1.Text <> '' then
  begin
    s := cbbField1.Text + cbbRel1.Text + edtValue1.Text;
    if cbbRelation.Text <> '' then
    begin
      s := s + ' ' + cbbRelation.Text ;
      //第2个查询条件
      if cbbField2.Text <> '' then
      s := s + ' ' +  cbbField2.Text + cbbRel2.Text + edtValue2.Text;
    end;
  end
  else
  if cbbField2.Text <> '' then
     s := cbbField2.Text + cbbRel2.Text + edtValue2.Text;
  
  //返回查询参数
  Result := s;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  Table1.Fields.GetFieldNames(cbbField1.Items);
  Table1.Fields.GetFieldNames(cbbField2.Items);
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?