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

📄 unit12.pas

📁 一个用DELPHI编的酒店管理系统。 其中数据库:SQL Server2000, 只需恢复 My database文件夹中 My database_Data.MDF和 My database_Log.
💻 PAS
字号:
unit Unit12;

interface

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


type
  TForm12 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    goodsId: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    innum: TEdit;
    Label5: TLabel;
    inprice: TEdit;
    Label7: TLabel;
    indate: TDateTimePicker;
    Label9: TLabel;
    providerid: TEdit;
    instorage: TButton;
    exit: TButton;
    goods: TTable;
    storage: TTable;
    Query1: TQuery;
    DataSource1: TDataSource;
    goodsname: TComboBox;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure goodsnameSelect(Sender: TObject);
    procedure innumExit(Sender: TObject);
    procedure inpriceExit(Sender: TObject);
    procedure instorageClick(Sender: TObject);
    procedure exitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
   procedure refreshDbGrid;
  public
    { Public declarations }
  end;

var
  Form12: TForm12;

implementation

{$R *.dfm}
uses unit38;
procedure TForm12.FormCreate(Sender: TObject);
begin
{初始化时间}
   indate.Date:=now;
{初始化物资名称和物资编号以及单位}
   with goods do
   begin
      open;
      while not eof do
      begin
         goodsName.Items.Add(fieldByName('商品名称').AsString);
         next;
      end;
      goodsName.ItemIndex:=0;
      first;
      goodsId.Text:=fieldByName('商品编号').AsString;
      close;
   end;//end of with
   {初始化其他}
   innum.Text:='';
   inprice.Text:='';
   providerid.Text:='';
end;

procedure TForm12.goodsnameSelect(Sender: TObject);
begin
 with goods do
   begin
      open;
      while not eof do
      begin
   if fieldByName('商品名称').AsString=goodsName.Items[goodsName.ItemIndex] then
         begin
            goodsId.Text:=fieldByName('商品编号').AsString;
            break;
         end;
         next;
      end;
      close;
   end;
end;

procedure TForm12.innumExit(Sender: TObject);
begin
if (isInteger(innum.Text)=false) and
      (innum.Text<>'') then
   begin
      showMessage('输入的数量有错误!');
      activeControl:=innum;
   end;
end;

procedure TForm12.inpriceExit(Sender: TObject);
begin
   if inprice.Text='' then
   begin
      showMessage('输入的单价有错误!');
      activeControl:=inprice;
   end;
end;

procedure Tform12.refreshDbGrid;
begin
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add('select goods.商品编号,goods.商品名称,storage.进货单价,storage.供应商编号,storage.入库数量,storage.入库日期 from goods,storage where goods.商品编号=storage.商品编号');
      open;
   end;
end;

procedure TForm12.instorageClick(Sender: TObject);
begin
   {检查入库数量}
   if innum.Text='' then
   begin
      showMessage('请输入入库数量!');
      activeControl:=innum;
   end;

   {修改库存数量}
   with goods do
   begin
      open;
      while not eof do
      begin
         if fieldByName('商品编号').AsString=goodsId.Text then
         begin
            edit;
            fieldValues['库存量']:=strToInt(innum.Text)+fieldByName('库存量').AsInteger;
            post;
         end;
         next;
      end;
      close;
   end;
   {插入一条入库记录}
   with storage do
   begin
      open;
      insert;
      fieldValues['商品编号']:=goodsId.Text;
      fieldValues['商品名称']:=goodsname.Text;
      fieldValues['供应商编号']:=providerId.Text;
      fieldValues['入库数量']:=innum.Text;
      fieldValues['入库日期']:=strtodate(DatetoStr(indate.date));
      fieldValues['进货单价']:=inprice.Text;
      post;
      close;
      showMessage('入库成功!');
      refreshDbGrid;
     end;
end;


procedure TForm12.exitClick(Sender: TObject);
begin
close;
end;

procedure TForm12.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.free;
end;

end.

⌨️ 快捷键说明

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