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

📄 card.pas

📁 我自己写的一个有关酒店管理系统的代码 大家
💻 PAS
字号:
unit card;

interface

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

type
  TCardForm = class(TForm)
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DataSource1: TDataSource;
    Query1: TQuery;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure LoadFromTable;
    procedure SaveToTable;
  end;

var
  CardForm: TCardForm;

implementation
  uses main;
{$R *.dfm}

procedure TCardForm.FormActivate(Sender: TObject);
begin
    edit1.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    edit4.Text:='';
    edit5.Text:='';
    dbgrid1.DataSource:=datasource1;
    datasource1.DataSet:=query1;
    query1.sql.clear;
    query1.sql.Add('select * from card');
    query1.Open;
    dbgrid1.ReadOnly:=true;
    if query1.Eof then
    begin
        edit1.Enabled:=false;
        edit2.Enabled:=false;
        edit3.Enabled:=false;
        edit4.Enabled:=false;
        edit5.Enabled:=false;
        bitbtn2.SetFocus;
    end
    else
    begin
        loadfromtable;
        edit2.SetFocus;
    end;
end;
procedure TCardForm.LoadFromTable;
begin
    Edit1.Text:=IntTostr(query1.fieldbyname('id').asinteger);
    edit2.text:=query1.fieldbyname('cardname').asstring;
    edit3.text:=query1.fieldbyname('cardbank').asstring;
    edit4.text:=query1.fieldbyname('money').asstring;
    edit5.text:=query1.fieldbyname('note').asstring;
end;
//插入新信息
procedure TCardForm.BitBtn2Click(Sender: TObject);
begin
       edit2.enabled:=true;
       edit2.text:='';
       edit3.enabled:=true;
       edit3.text:='';
       edit4.enabled:=true;
       edit4.text:='';
       edit5.enabled:=true;
       edit5.text:='';
       edit2.SetFocus;
       edit1.text:=inttostr(query1.RecordCount+1);
end;
//保存信息
procedure TCardForm.BitBtn1Click(Sender: TObject);
begin
      savetotable;
end;
procedure TCardForm.SaveToTable;
begin
        query1.RequestLive:=true;
        if strtoint(edit1.Text)>query1.RecordCount then
        begin
            query1.SQL.clear;
            query1.sql.Add('insert into card values(:id,:cardname,:cardbank,:money,:note,:operator,:oper_date)');
        end
        else
        begin
            query1.sql.clear;
            query1.sql.Add('update card set cardname=:cardname,cardbank=:cardbank,money=:money,');
            query1.sql.add('note=:note,operator=:operator,oper_date=:oper_date where id=:id');
        end;
        query1.ParamByName('id').asinteger:=StrToInt(edit1.text);
        query1.ParamByName('cardname').asstring:=edit2.text;
        query1.paramByName('cardbank').asstring:=edit3.text;
        query1.paramByName('money').asstring:=edit4.text;
        query1.paramByName('note').asstring:=edit5.text;
        query1.paramByName('operator').asstring:=username;
        query1.paramByName('oper_date').asDateTime:=date();
        query1.ExecSQL;
        query1.SQL.Clear;
        query1.SQL.add('select * from card');
        query1.open;
end;
//删除当前记录
procedure TCardForm.BitBtn3Click(Sender: TObject);
begin
    query1.RequestLive:=true;
    query1.SQL.clear;
    query1.SQL.add('delete from card where id=:id');
    query1.ParamByName('id').asinteger:=StrToInt(edit1.text);
    query1.ExecSQL;
    query1.SQL.Clear;
    query1.SQL.add('select * from card');
    query1.open;    
    query1.First;
    while not query1.Eof do
    begin
        query1.edit;
        query1.FieldByName('id').asinteger:=query1.RecNo;
        query1.post;
        query1.next;
    end;
    if query1.Eof then
    begin
        edit1.Text:='';
        edit2.Text:='';
        edit2.Enabled:=false;
        edit3.Text:='';
        edit3.Enabled:=false;
        edit4.Text:='';
        edit4.Enabled:=false;
        edit5.Text:='';
        edit5.Enabled:=false;
        bitbtn2.SetFocus;
    end
    else
    begin
        LoadFromTable;
        edit1.SetFocus;
    end;
end;
//退出系统
procedure TCardForm.BitBtn4Click(Sender: TObject);
begin
  query1.close;
  close;
end;
//数据表指针移动时,刷新界面信息
procedure TCardForm.Query1AfterScroll(DataSet: TDataSet);
begin
          LoadFromTable;
end;

end.

⌨️ 快捷键说明

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