📄 querysell.pas
字号:
unit QuerySell;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Buttons, Grids;
type
TQuerySellFrm = class(TForm)
QueryCount_GroupBox: TGroupBox;
QuerySell_StringGrid: TStringGrid;
QueryResult_GroupBox: TGroupBox;
QuerySellReturn_BitBtn: TBitBtn;
QuerySellOk_BitBtn: TBitBtn;
CustomerName_RadioButton: TRadioButton;
ProductName_RadioButton: TRadioButton;
SellDate_RadioButton: TRadioButton;
QuerySell_Query: TQuery;
QueryCount_Label: TLabel;
QueryCount_Edit: TEdit;
SellDate_ComboBox: TComboBox;
CustomerName_ComboBox: TComboBox;
ProductName_ComboBox: TComboBox;
procedure QuerySellReturn_BitBtnClick(Sender: TObject);
procedure QuerySellOk_BitBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QuerySellFrm: TQuerySellFrm;
implementation
{$R *.dfm}
procedure TQuerySellFrm.QuerySellReturn_BitBtnClick(Sender: TObject);
begin
QuerySellFrm.hide;
end;
procedure TQuerySellFrm.QuerySellOk_BitBtnClick(Sender: TObject);
var querystring:string;
i:integer;
tag:integer;
begin
tag:=0;
for i:=1 to 100 do
with QuerySell_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 CustomerName_RadioButton.Checked=true then
tag:=1
else if ProductName_RadioButton.Checked=true then
tag:=2
else if SellDate_RadioButton.Checked=true then
tag:=3;
if tag=0 then
messagebox(QuerySellFrm.handle,'请选择查询条件','警告',mb_ok+mb_iconwarning)
else
begin
//-------查询条件设定------
querystring:='select * from sell where';
case tag of
1:querystring:=querystring+' customerName='+''''+CustomerName_ComboBox.text+'''';
2:querystring:=querystring+' ProductName='+''''+ProductName_ComboBox.text+'''';
3:querystring:=querystring+' SellDate='+''''+SellDate_ComboBox.text+'''';
end;
with QuerySell_query do
begin
close;
sql.clear;
sql.Add(querystring);
open;
first;
for i:=1 to recordcount do
begin
with QuerySell_StringGrid do
begin
//-------销售查询------
cells[0,i]:=fieldbyname('sellID').asstring;
cells[1,i]:=fieldbyname('customerID').asstring;
cells[2,i]:=fieldbyname('customerName').asstring;
cells[3,i]:=fieldbyname('ProductID').asstring;
cells[4,i]:=fieldbyname('ProductName').asstring;
cells[5,i]:=fieldbyname('Spec').asstring;
cells[6,i]:=fieldbyname('unit').asstring;
cells[7,i]:=fieldbyname('Quantity').asstring;
cells[8,i]:=fieldbyname('UnitPrice').asstring;
cells[9,i]:=fieldbyname('SellDate').asstring;
cells[10,i]:=fieldbyname('Discount').asstring;
cells[11,i]:=fieldbyname('SellRemark').asstring;
end;
next;
end;
QueryCount_edit.Text:=inttostr(recordcount);
end;
end;
end;
procedure TQuerySellFrm.FormShow(Sender: TObject);
var SellDate,ProductName,CustomerName:array[1..100] of string;
CountFlag,i,j,flag:integer;
SellDatetemp,ProductNametemp,CustomerNametemp:string;
begin
QuerySell_Query.Active:=False;
QuerySell_Query.Active:=True;
with QuerySell_StringGrid do
begin
colwidths[0]:=80;
colwidths[2]:=200;
colwidths[4]:=100;
colwidths[5]:=100;
colwidths[11]:=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]:='折扣';
cells[11,0]:='备注信息';
end;
//-------获取数据库中的销售时间的数据------
CountFlag:=1;
flag:=0;
with QuerySell_Query do
begin
close;
sql.clear;
sql.Add('select SellDate from sell');
open;
first;
SellDate[CountFlag]:=fieldbyname('SellDate').asstring;
for i:=1 to recordcount do
begin
SellDateTemp:=fieldbyname('SellDate').asstring;
for j:=1 to CountFlag do
if SellDate[j]=SellDateTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
SellDate[CountFlag]:=SellDateTemp;
end;
next;
flag:=0;
end;
end;
SellDate_ComboBox.Clear;
for i:=1 to CountFlag do
SellDate_ComboBox.items.insert(-1,SellDate[i]);
//-------获取数据库中的公司名称的数据------
CountFlag:=1;
flag:=0;
with QuerySell_Query do
begin
close;
sql.clear;
sql.Add('select CustomerName from sell');
open;
first;
CustomerName[CountFlag]:=fieldbyname('CustomerName').asstring;
for i:=1 to recordcount do
begin
CustomerNameTemp:=fieldbyname('CustomerName').asstring;
for j:=1 to CountFlag do
if CustomerName[j]=CustomerNameTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
CustomerName[CountFlag]:=CustomerNameTemp;
end;
next;
flag:=0;
end;
end;
CustomerName_ComboBox.Clear;
for i:=1 to CountFlag do
CustomerName_ComboBox.items.insert(-1,CustomerName[i]);
//-------获取数据库中的商品名称的数据------
CountFlag:=1;
flag:=0;
with QuerySell_Query do
begin
close;
sql.clear;
sql.Add('select ProductName from sell');
open;
first;
ProductName[CountFlag]:=fieldbyname('ProductName').asstring;
for i:=1 to recordcount do
begin
ProductNameTemp:=fieldbyname('ProductName').asstring;
for j:=1 to CountFlag do
if ProductName[j]=ProductNameTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
ProductName[CountFlag]:=ProductNameTemp;
end;
next;
flag:=0;
end;
end;
ProductName_ComboBox.Clear;
for i:=1 to CountFlag do
ProductName_ComboBox.items.insert(-1,ProductName[i]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -