📄 queryfeeder.pas
字号:
unit QueryFeeder;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Buttons, Grids;
type
TQueryFeederFrm = class(TForm)
QueryResult_GroupBox: TGroupBox;
QueryFeeder_StringGrid: TStringGrid;
QueryCondition_GroupBox: TGroupBox;
QueryFeederCancel_BitBtn: TBitBtn;
QueryFeederOk_BitBtn: TBitBtn;
CompanyName_CheckBox: TCheckBox;
LinkMan_CheckBox: TCheckBox;
City_CheckBox: TCheckBox;
City_ComboBox: TComboBox;
QueryFeeder_Query: TQuery;
Querycount_Label: TLabel;
Querycount_Edit: TEdit;
CompanyName_ComboBox: TComboBox;
LinkMan_ComboBox: TComboBox;
procedure QueryFeederCancel_BitBtnClick(Sender: TObject);
procedure QueryFeederOk_BitBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QueryFeederFrm: TQueryFeederFrm;
implementation
{$R *.dfm}
procedure TQueryFeederFrm.QueryFeederCancel_BitBtnClick(Sender: TObject);
begin
QueryFeederFrm.hide;
end;
procedure TQueryFeederFrm.QueryFeederOk_BitBtnClick(Sender: TObject);
var querystring:string;
i:integer;
tag:integer;
begin
tag:=0;
for i:=1 to 100 do
with QueryFeeder_StringGrid do
begin
cells[0,i]:='';
cells[1,i]:='';
cells[2,i]:='';
cells[3,i]:='';
cells[4,i]:='';
cells[5,i]:='';
cells[6,i]:='';
cells[7,i]:='';
cells[8,i]:='';
cells[9,i]:='';
cells[10,i]:='';
end;
//-------查询条件组合的选择------
if City_CheckBox.Checked=true then
if CompanyName_CheckBox.Checked=true then
if LinkMan_CheckBox.Checked=true then
tag:=1 //1,2,3三个条件
else
tag:=2 //1,2二个条件
else
if LinkMan_CheckBox.Checked=true then
tag:=7 //1,3 二个条件
else
tag:=3 //1 一个条件
else
if CompanyName_CheckBox.Checked=true then
if LinkMan_CheckBox.Checked=true then
tag:=4 //2,3 二个条件
else
tag:=5 //2 一个条件
else
if LinkMan_CheckBox.Checked=true then
tag:=6 //3 一个条件
else messagebox(QueryFeederFrm.handle,'请选择查询条件','警告',mb_ok+mb_iconwarning);
//-------查询条件设定------
querystring:='select * from feeder where';
case tag of
1:querystring:=querystring+' CompanyName='+''''+CompanyName_ComboBox.text+''''+' and LinkMan='+''''+LinkMan_ComboBox.text+''''+' and City='+''''+City_ComboBox.text+'''';
2:querystring:=querystring+' CompanyName='+''''+CompanyName_ComboBox.text+''''+' and LinkMan='+''''+LinkMan_ComboBox.text+'''';
3:querystring:=querystring+' City='+''''+City_ComboBox.text+'''';
4:querystring:=querystring+' LinkMan='+''''+LinkMan_ComboBox.text+''''+' and CompanyName='+''''+CompanyName_ComboBox.text+'''';
5:querystring:=querystring+' CompanyName='+''''+CompanyName_ComboBox.text+'''';
6:querystring:=querystring+' LinkMan='+''''+LinkMan_ComboBox.text+'''';
7:querystring:=querystring+' LinkMan='+''''+LinkMan_ComboBox.text+''''+' and City='+''''+City_ComboBox.text+'''';
end;
with QueryFeeder_Query do
begin
close;
sql.clear;
sql.Add(querystring);
open;
first;
for i:=1 to recordcount do
begin
with QueryFeeder_StringGrid do
begin
//-------供应商查询------
cells[0,i]:=fieldbyname('FeederID').asstring;
cells[1,i]:=fieldbyname('CompanyName').asstring;
cells[2,i]:=fieldbyname('LinkMan').asstring;
cells[3,i]:=fieldbyname('Address').asstring;
cells[4,i]:=fieldbyname('City').asstring;
cells[5,i]:=fieldbyname('Region').asstring;
cells[6,i]:=fieldbyname('Zipcode').asstring;
cells[7,i]:=fieldbyname('Tel').asstring;
cells[8,i]:=fieldbyname('Fax').asstring;
cells[9,i]:=fieldbyname('Homepage').asstring;
cells[10,i]:=fieldbyname('FeederRemark').asstring;
end;
next;
end;
QueryCount_edit.Text:=inttostr(recordcount);
end;
end;
procedure TQueryFeederFrm.FormShow(Sender: TObject);
var City,CompanyName,LinkMan:array[1..100] of string;
CountFlag,i,j,flag:integer;
CityTemp,LinkMantemp,CompanyNametemp:string;
begin
QueryFeeder_Query.Active:=False;
QueryFeeder_Query.Active:=True;
with QueryFeeder_StringGrid do
begin
colwidths[1]:=200;
colwidths[3]:=200;
colwidths[7]:=150;
colwidths[8]:=150;
colwidths[9]:=200;
colwidths[10]:=300;
cells[0,0]:='供应商编号';
cells[1,0]:='公司名称';
cells[2,0]:='联系人姓名';
cells[3,0]:='联系地址';
cells[4,0]:='所在城市';
cells[5,0]:='所在地区';
cells[6,0]:='邮政编码';
cells[7,0]:='联系电话';
cells[8,0]:='传真号码';
cells[9,0]:='公司主页';
cells[10,0]:='备注信息';
end;
//-------获取数据库中的供应商所在城市的数据------
CountFlag:=1;
flag:=0;
with QueryFeeder_Query do
begin
close;
sql.clear;
sql.Add('select city from feeder');
open;
first;
City[CountFlag]:=fieldbyname('City').asstring;
for i:=1 to recordcount do
begin
CityTemp:=fieldbyname('City').asstring;
for j:=1 to CountFlag do
if City[j]=CityTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
City[CountFlag]:=CityTemp;
end;
next;
flag:=0;
end;
end;
City_ComboBox.Clear;
for i:=1 to CountFlag do
City_ComboBox.items.insert(-1,City[i]);
//-------获取数据库中的公司名称的数据------
CountFlag:=1;
flag:=0;
with QueryFeeder_Query do
begin
close;
sql.clear;
sql.Add('select CompanyName from feeder');
open;
first;
City[CountFlag]:=fieldbyname('CompanyName').asstring;
for i:=1 to recordcount do
begin
CompanyNameTemp:=fieldbyname('CompanyName').asstring;
for j:=1 to CountFlag do
if CompanyName[j]=CompanyNameTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
CompanyName[CountFlag]:=CompanyNameTemp;
end;
next;
flag:=0;
end;
end;
CompanyName_ComboBox.Clear;
for i:=1 to CountFlag do
CompanyName_ComboBox.items.insert(-1,CompanyName[i]);
//-------获取数据库中的联系人的数据------
CountFlag:=1;
flag:=0;
with QueryFeeder_Query do
begin
close;
sql.clear;
sql.Add('select LinkMan from feeder');
open;
first;
LinkMan[CountFlag]:=fieldbyname('LinkMan').asstring;
for i:=1 to recordcount do
begin
LinkManTemp:=fieldbyname('LinkMan').asstring;
for j:=1 to CountFlag do
if LinkMan[j]=LinkManTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
LinkMan[CountFlag]:=LinkManTemp;
end;
next;
flag:=0;
end;
end;
LinkMan_ComboBox.Clear;
for i:=1 to CountFlag do
LinkMan_ComboBox.items.insert(-1,LinkMan[i]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -