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

📄 sp_sp.pas

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

interface

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

type
  TForm3 = class(TForm)
    Label1: TLabel;
    GroupBox1: TGroupBox;
    T_sp: TTable;
    DS_sp: TDataSource;
    DBGrid1: TDBGrid;
    SpeedButton1: TSpeedButton;
    DBNavigator1: TDBNavigator;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Button1: TButton;
    SP_bm: TMaskEdit;
    SP_mc: TEdit;
    SP_lx: TComboBox;
    SP_dj: TMaskEdit;
    SP_dw: TEdit;
    SP_py: TMaskEdit;
    Q_lb: TQuery;
    Label14: TLabel;
    Q_spTypeNo: TQuery;
    Label15: TLabel;
    sp_kc: TComboBox;
    Label16: TLabel;
    sp_mj: TMaskEdit;
    Q_repeat: TQuery;
    procedure SpeedButton1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure SP_bmKeyPress(Sender: TObject; var Key: Char);
    procedure SP_mcKeyPress(Sender: TObject; var Key: Char);
    procedure SP_lxKeyPress(Sender: TObject; var Key: Char);
    procedure SP_djKeyPress(Sender: TObject; var Key: Char);
    procedure sp_mjKeyPress(Sender: TObject; var Key: Char);
    procedure SP_dwKeyPress(Sender: TObject; var Key: Char);
    procedure SP_pyKeyPress(Sender: TObject; var Key: Char);
    procedure sp_kcKeyPress(Sender: TObject; var Key: Char);
    procedure SP_bmExit(Sender: TObject);
    procedure SP_mcExit(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

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

procedure TForm3.Button1Click(Sender: TObject);
 var
  SelectSplb:string;
  splbno:integer;
begin
 if (length(sp_mc.Text)=0) or (length(sp_kc.Text)=0) then
  begin
   MessageDlg('输入错误,请重新输入!',mtError,[mbok],0);
   end
  else
   begin
//根据当前输入的商品类别取出Dtype表中该类商品的TypeNo;
     SelectSplb:=SP_lx.Text;
     Q_spTypeNo.SQL.Clear;
     Q_spTypeNo.SQL.Add('select * from Dtype where Typename='''+SelectSplb+'''');
     Q_spTypeNo.Open;
     splbno:=Q_spTypeNo.FieldByName('TypeNo').Asinteger;
     Q_spTypeNo.Close;
//结束
 T_sp.Open;
 T_sp.Append;
 T_sp['MenuNo']:=sp_bm.Text;
 T_sp['MenuName']:=Sp_mc.Text;
 T_sp['MenuType']:=splbno;
 T_sp['TypeName']:=sp_lx.Text;
 T_sp['Price']:=StrToFloat(sp_dj.Text);
 T_sp['SalePrice']:=StrToFloat(sp_mj.Text);
 T_sp['Unit']:=sp_dw.Text;
 T_sp['py']:=sp_py.Text;
 T_sp['kc']:=sp_kc.Text;
 T_sp.Post;
 T_sp.Close;
 T_sp.Open;
 sp_bm.Clear;
 sp_mc.Clear;
 sp_dj.Clear;
 sp_dw.Clear;
 sp_py.Clear;
 sp_bm.SetFocus;
 end;
 end;
procedure TForm3.SP_bmKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 end;
end;

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

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

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

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

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

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

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

procedure TForm3.SP_bmExit(Sender: TObject);
begin
  Q_repeat.Close;
  Q_repeat.SQL.Clear;
  Q_repeat.SQL.Add('select * from Menu where MenuNo='''+SP_bm.Text+'''');
  Q_repeat.Open;
  if not Q_repeat.Eof then
    begin
      sp_bm.Clear;
      sp_bm.SetFocus;
      MessageDlg('您输入的编码有重复,请重新输入!',mtError,[mbok],0);
    end;
end;

procedure TForm3.SP_mcExit(Sender: TObject);
begin
  Q_repeat.Close;
  Q_repeat.SQL.Clear;
  Q_repeat.SQL.Add('select * from Menu where MenuName='''+SP_mc.Text+'''');
  Q_repeat.Open;
  if not Q_repeat.Eof then
    begin
      sp_mc.Clear;
      sp_mc.SetFocus;
      MessageDlg('您输入的名称有重复,请重新输入!',mtError,[mbok],0);
    end;
end;

procedure TForm3.FormShow(Sender: TObject);
begin
  SP_bm.EditMask:='000;1; ';
  SP_bm.SetFocus;
  Sp_mc.Text:='';
  Sp_dj.Text:='0';
  sp_mj.Text:='0';
  sp_dw.Text:='';
  sp_py.Text:='';
  sp_kc.Text:='';
  Q_lb.Active:=False;
  Q_lb.Close;
  Q_lb.Open;
  Q_lb.Active:=True;
while not Q_lb.Eof do
        begin
          sp_lx.Items.Add(Q_lb.FieldByName('TypeName').AsString);
          Q_lb.Next;
        end;

end;

end.

⌨️ 快捷键说明

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