📄 main.~pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -