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

📄 borrow.pas

📁 四川大学图书管理系统!sql+c++实现
💻 PAS
字号:
unit Borrow;

interface

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

type
  TBorrowForm = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    Label1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BorrowForm: TBorrowForm;
  ReaderId, BookId, Time : String;
  DT1, DT2 : TDateTime;
  Flag : smallint;

implementation

uses InfoQuery, Data, Main, Login;

{$R *.dfm}

procedure TBorrowForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  InfoQueryForm.Show;
  BorrowForm.Hide;
end;

procedure TBorrowForm.FormShow(Sender: TObject);
begin
  DBGrid1.DataSource := Data.DataModule.BorrowABCDDS;
  ReaderId := Login.UseId;
  //显示该读者的借阅信息
  with Data.DataModule.BorrowABCD do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 借阅信息 where 读者证号=''' + ReaderId + '''');
      Open;
    end;
end;

procedure TBorrowForm.Button1Click(Sender: TObject);
begin
  DT1 := Date();
  Time := datetostr(DT1+30);//简化处理,借期统一使用30天
  with Data.DataModule.BorrowABCD do //续借
    begin
      BookId := FieldByName('图书编号').AsString;
      Flag := FieldByName('剩余续借次数').AsInteger;
      DT2 := FieldByName('借书日期').AsDatetime;
      if DT1>DT2 then //超期处理
        begin
          Application.MessageBox('该图书已超期!','错误信息',MB_OK+MB_ICONEXCLAMATION);
          abort;
        end;
      if Flag=0 then //续借超出指定次数
        begin
          Application.MessageBox('超过续借次数!','错误信息',MB_OK+MB_ICONEXCLAMATION);
          abort;
        end;
      Close;
      SQL.Clear;
      SQL.Add('update 借阅信息 set 应还日期= ''' + Time + '''');
      SQL.Add(',剩余续借次数=剩余续借次数-1 where 读者证号 =''' + UserId + '''');
      SQL.Add('and 图书编号=''' + BookId + '''');
      ExecSQL;
      //更新视图
      Close;
      SQL.Clear;
      SQL.Add('select * from 借阅信息 where 读者证号=''' + ReaderId + '''');
      Open;
    end;
end;

end.

⌨️ 快捷键说明

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