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

📄 querysell.pas

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