📄 querystock.pas
字号:
unit Querystock;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, StdCtrls, Buttons;
type
TQuerystockFrm = class(TForm)
QueryCondition_GroupBox: TGroupBox;
QueryStockReturn_BitBtn: TBitBtn;
QueryStockOk_BitBtn: TBitBtn;
QueryResult_GroupBox: TGroupBox;
Querystock_StringGrid: TStringGrid;
Querystock_Query: TQuery;
FeederName_RadioButton: TRadioButton;
ProductName_RadioButton: TRadioButton;
StockDate_RadioButton: TRadioButton;
QueryCount_Label: TLabel;
QueryCount_Edit: TEdit;
StockDate_ComboBox: TComboBox;
FeederNme_ComboBox: TComboBox;
ProductName_ComboBox: TComboBox;
procedure QueryStockReturn_BitBtnClick(Sender: TObject);
procedure QueryStockOk_BitBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QuerystockFrm: TQuerystockFrm;
implementation
{$R *.dfm}
procedure TQuerystockFrm.QueryStockReturn_BitBtnClick(Sender: TObject);
begin
QuerystockFrm.hide;
end;
procedure TQuerystockFrm.QueryStockOk_BitBtnClick(Sender: TObject);
var querystring:string;
i:integer;
tag:integer;
begin
tag:=0;
for i:=1 to 100 do
with Querystock_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 FeederName_RadioButton.Checked=true then
tag:=1
else if ProductName_RadioButton.Checked=true then
tag:=2
else if StockDate_RadioButton.Checked=true then
tag:=3;
if tag=0 then
messagebox(QuerystockFrm.handle,'请选择查询条件','警告',mb_ok+mb_iconwarning)
else
begin
//-------查询条件设定------
querystring:='select * from stock where';
case tag of
1:querystring:=querystring+' FeederName='+''''+FeederNme_ComboBox.text+'''';
2:querystring:=querystring+' ProductName='+''''+ProductName_ComboBox.text+'''';
3:querystring:=querystring+' StockDate='+''''+StockDate_ComboBox.text+'''';
end;
with Querystock_query do
begin
close;
sql.clear;
sql.Add(querystring);
open;
first;
for i:=1 to recordcount do
begin
with Querystock_StringGrid do
begin
//-------进货查询------
cells[0,i]:=fieldbyname('stockID').asstring;
cells[1,i]:=fieldbyname('FeederID').asstring;
cells[2,i]:=fieldbyname('FeederName').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('StockDate').asstring;
cells[10,i]:=fieldbyname('StockRemark').asstring;
end;
next;
end;
QueryCount_Edit.Text:=inttostr(recordcount);
end;
end;
end;
procedure TQuerystockFrm.FormShow(Sender: TObject);
var StockDate,ProductName,FeederName:array[1..100] of string;
CountFlag,i,j,flag:integer;
StockDatetemp,ProductNametemp,FeederNametemp:string;
begin
QueryStock_Query.Active:=False;
QueryStock_Query.Active:=True;
with Querystock_StringGrid do
begin
colwidths[0]:=80;
colwidths[2]:=200;
colwidths[4]:=100;
colwidths[5]:=100;
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 QueryStock_Query do
begin
close;
sql.clear;
sql.Add('select StockDate from Stock');
open;
first;
StockDate[CountFlag]:=fieldbyname('StockDate').asstring;
for i:=1 to recordcount do
begin
StockDateTemp:=fieldbyname('StockDate').asstring;
for j:=1 to CountFlag do
if StockDate[j]=StockDateTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
StockDate[CountFlag]:=StockDateTemp;
end;
next;
flag:=0;
end;
end;
StockDate_ComboBox.Clear;
for i:=1 to CountFlag do
StockDate_ComboBox.items.insert(-1,StockDate[i]);
//-------获取数据库中的供应商名称的数据------
CountFlag:=1;
flag:=0;
with QueryStock_Query do
begin
close;
sql.clear;
sql.Add('select FeederName from Stock');
open;
first;
FeederName[CountFlag]:=fieldbyname('FeederName').asstring;
for i:=1 to recordcount do
begin
FeederNameTemp:=fieldbyname('FeederName').asstring;
for j:=1 to CountFlag do
if FeederName[j]=FeederNameTemp then
begin
flag:=1;
break;
end;
if flag<>1 then
begin
CountFlag:=CountFlag+1;
FeederName[CountFlag]:=FeederNameTemp;
end;
next;
flag:=0;
end;
end;
FeederNme_ComboBox.Clear;
for i:=1 to CountFlag do
FeederNme_ComboBox.items.insert(-1,FeederName[i]);
//-------获取数据库中的商品名称的数据------
CountFlag:=1;
flag:=0;
with QueryStock_Query do
begin
close;
sql.clear;
sql.Add('select ProductName from Stock');
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 + -