⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 querystock.pas

📁 可对供应商,顾客,商品,信息进行添加修改查询删除.可随时统计进货量和销售量,同时统计销售额和利润等.
💻 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 + -