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

📄 cw_spinxy.~pas

📁 结于初学者来说这对数据库是一个很好的例子
💻 ~PAS
字号:
unit cw_spinxy;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBTables, DB, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,
  Buttons;

type
  TForm5 = class(TForm)
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Button2: TButton;
    In_mc: TComboBox;
    In_jg: TEdit;
    In_sl: TEdit;
    In_SalePrice: TEdit;
    DS_kc: TDataSource;
    Q_kc: TQuery;
    Q_sp: TQuery;
    Q_menu: TQuery;
    T_into: TTable;
    Table1: TTable;
    Q_Kucun: TQuery;
    T_IntoKucun: TTable;
    Q_spcx: TQuery;
    Q_spjg: TQuery;
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure In_mcKeyPress(Sender: TObject; var Key: Char);
    procedure In_mcSelect(Sender: TObject);
    procedure In_jgKeyPress(Sender: TObject; var Key: Char);
    procedure In_SalePriceKeyPress(Sender: TObject; var Key: Char);
    procedure In_slKeyPress(Sender: TObject; var Key: Char);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

uses cw_main;

{$R *.dfm}

procedure TForm5.FormShow(Sender: TObject);
begin
     Q_sp.Active:=False;
  Q_sp.Close;
  Q_sp.Open;
  Q_sp.Active:=True;
  In_mc.Clear;
  while not Q_sp.Eof do
        begin
          In_mc.Items.Add(Q_sp.FieldByName('MenuName').AsString);
          Q_sp.Next;
        end;
end;

procedure TForm5.SpeedButton1Click(Sender: TObject);
begin
 close;
end;

procedure TForm5.In_mcKeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
 begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 end;
end;

procedure TForm5.In_mcSelect(Sender: TObject);
begin
    Q_spjg.SQL.Clear;
 Q_spjg.SQL.Add('select Price,SalePrice from Menu where MenuName='''+In_mc.Text+'''');
 Q_spjg.Open;
 In_jg.Text:=Q_spjg.FieldByName('Price').asstring;
 In_SalePrice.Text:=Q_spjg.FieldByName('SalePrice').asstring;
 Q_spjg.Close;
 In_sl.SetFocus;
end;

procedure TForm5.In_jgKeyPress(Sender: TObject; var Key: Char);
begin
     if key=#13 then
 begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 end;
end;

procedure TForm5.In_SalePriceKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
 begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 end;
end;

procedure TForm5.In_slKeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
 begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 end;
end;

procedure TForm5.Button2Click(Sender: TObject);
  var
    spmc,usern:string;
    sss:integer;
begin
// Table1.Open;
 usern:=form1.operator.caption;
// Table1.Close;
 if (length(In_SalePrice.text)=0) or (length(In_mc.Text)=0) or (length(In_jg.Text)=0) or (length(In_sl.Text)=0) then
  begin
   MessageDlg('输入不能为空,请重新输入!',mtError,[mbok],0);
   end
  else
   begin
      spmc:=In_mc.Text;
      Q_menu.Close;
      Q_menu.SQL.Clear;
      Q_menu.SQL.Add('select * from sn_Menu where MenuName='''+spmc+'''');
      Q_menu.Open;
//入H_in历史入库表中。
      T_into.Open;
      T_into.AppendRecord([Q_menu.FieldByName('MenuNo').asString,Q_menu.FieldByName('MenuName').asString,Q_menu.FieldByName('TypeName').asString,Q_menu.FieldByName('MenuType').asInteger,StrToFloat(trim(IN_jg.Text)),Q_menu.FieldByName('Unit').asString,Q_menu.FieldByName('py').asString,now,usern,Strtofloat(trim(In_sl.Text)),StrToFloat(trim(In_SalePrice.Text))]);
      T_into.Close;
//结束。
//对Kucun表进行增加或更新操作。
    Q_kucun.Close;
    Q_Kucun.SQL.Clear;
    Q_Kucun.SQL.Add('select * from sn_kucun where MenuName='''+spmc+'''');
    Q_Kucun.Open;
//    Q_Kucun.Active:=True;
    T_IntoKucun.open;
    if Q_Kucun.RecordCount=0 then
       begin
 T_IntoKucun.AppendRecord([Q_menu.FieldByName('MenuNo').asString,Q_menu.FieldByName('MenuName').asString,Q_menu.FieldByName('TypeName').asString,Q_menu.FieldByName('MenuType').asInteger,StrToFloat(trim(IN_jg.Text)),Q_menu.FieldByName('Unit').asString,Q_menu.FieldByName('py').asString,now,usern,Strtofloat(trim(In_sl.Text)),StrToFloat(trim(In_SalePrice.Text))]);
       end
     else
       begin
         if Q_kucun.RecordCount=1 then
           begin
             sss:=Q_Kucun.FieldByName('sl').Asinteger+StrToint(In_sl.Text);
             Q_kucun.Edit;
             Q_kucun['InPrice']:=StrTofloat(In_jg.Text);
             Q_kucun['SalePrice']:=StrTofloat(In_SalePrice.text);
             Q_kucun['sl']:=sss;
             Q_kucun.Post;
           end;

     end;

//结束。
      In_jg.Clear;
      In_sl.Clear;
      In_SalePrice.Clear;
      Q_kc.Close;
      Q_kc.Open;
      Q_kc.Active:=true;
      end;


end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -