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

📄 sp_in.pas

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

interface

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

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

var
  Form8: TForm8;

implementation

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);
begin
    Form8.Close;
end;

procedure TForm8.SpeedButton1Click(Sender: TObject);
begin
  In_jg.Clear;
  In_SalePrice.Clear;
  Form8.close;
end;

procedure TForm8.Button2Click(Sender: TObject);
  var
    spmc,usern:string;
    sss:integer;
begin
 Table1.Open;
 usern:=Table1.fieldByName('name').AsString;
 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.SQL.Clear;
      Q_menu.SQL.Add('select * from 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.SQL.Clear;
    Q_Kucun.SQL.Add('select * from 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;

procedure TForm8.In_mcChange(Sender: TObject);
  var fff:string;
begin
  fff:=In_mc.Text;
  Q_spcx.SQL.Clear;
  Q_spcx.SQL.Add('select * from kucun where MenuName='''+fff+'''');
  Q_spcx.Open;
  In_jg.Text:=FloatToStr(Q_spcx.FieldByName('InPrice').asFloat);
  In_SalePrice.Text:=FloatToStr(Q_spcx.FieldByName('SalePrice').asFloat);
  Q_spcx.Close;
//  In_sl.SetFocus;
end;

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

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

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

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

procedure TForm8.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 TForm8.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;

end.

⌨️ 快捷键说明

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