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

📄 unit8.~pas

📁 图书管理系统 简介 随着科学技术的飞速发展
💻 ~PAS
字号:
unit Unit8;

interface

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

type
  TForm8 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    booktb: TTable;
    studenttb: TTable;
    bobooktb: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DataSource2: TDataSource;
    Label3: TLabel;
    Edit3: TEdit;
    lendbooktb: TTable;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;

implementation

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

var
num2,num1,num3:integer;
str1,str2,str3,str4,str5,str6,str7,str8:string;

begin

studenttb.Open;
studenttb.IndexFieldNames:='学号';
studenttb.FindKey([edit2.Text]);
edit3.Text:=studenttb.fieldbyname('姓名').AsString;
//num2:=strtoint(studenttb.fieldbyname('最大借书数量').AsVariant);
num3:=strtoint(studenttb.fieldbyname('已借书量').AsVariant);
//if (num3=num2) then
    //    begin
      //  showmessage('你的借书证已借满,不能再借');
      //  abort;
      //  end;
bobooktb.Open;
bobooktb.IndexFieldNames:='学号';
bobooktb.FindKey([edit2.text]);
while not (booktb.FieldByName('ISBN').AsString=EDIT1.text) do
    booktb.Next;

booktb.Open;
booktb.IndexFieldNames:='ISBN';
booktb.FindKey([edit1.text]);
//if not booktb.findkey([edit1.Text]) then
                                  //   begin
                                   //  showmessage('没有这本书');
                                  //   abort;
                                  //   end

//else
//begin
  num1:=strtoint(booktb.fieldbyname('可借数量').AsVariant);
  //str1:=booktb.fieldbyname('ISBN').AsString;
 // str2:=booktb.fieldbyname('书名').AsString;
  //str5:=booktb.fieldbyname('作者').AsString;
  //str3:=booktb.fieldbyname('出版社').AsString;
  //str4:=booktb.fieldbyname('出版日期').AsString;
 // str6:=booktb.fieldbyname('类别').AsString;
 // str7:=edit3.Text;
  //studenttb.fieldbyname('姓名').AsString;
  //str8:=edit2.text;

  //if num1=0 then
   //  begin
   //  showmessage('此书已经借完了');
   //  abort;
   //  end
   //  else
   //  begin
     //bobooktb.Open;
  booktb.Edit;
  studenttb.Edit;
        num1:=num1+1;

        num3:=num3-1;
        booktb.FieldByName('可借数量').AsString:=inttostr(num1);
        studenttb.FieldByName('已借书量').AsString:=inttostr(num3);
     booktb.Append;
     studenttb.Append;
     bobooktb.Delete;
   //  showmesssage('该书预定已取消');
     showmessage('该书预定已取消');
    // bobooktb.InsertRecord([str1,str2,str3,str4,str5,str6,str7,str8]);

     end;


procedure TForm8.Button2Click(Sender: TObject);

     var
num2,num1,num3:integer;
str1,str2,str3,str4,str5,str6,str7,str8:string;

begin
if (edit2.text='')or(edit1.text='') then
                        begin
                        showmessage('学号和ISBN号不能为空');
                        abort;
                        end;
lendbooktb.Open;
lendbooktb.IndexfieldNames:='ISBN';
if(lendbooktb.FindKey([edit1.Text])) then
                                    begin
                                     showmessage('你已经借了该书');

                                     edit1.Text:='';
                                     abort;
                                     end;
studenttb.Open;

studenttb.IndexFieldNames:='学号';
studenttb.FindKey([edit2.Text]);
edit3.Text:=studenttb.fieldbyname('姓名').AsString;
num2:=strtoint(studenttb.fieldbyname('最大借书数量').AsVariant);
num3:=strtoint(studenttb.fieldbyname('已借书量').AsVariant);
if (num3=num2) then
        begin
        showmessage('你的借书证已借满,不能再借');
        abort;
        end;
booktb.Open;
booktb.IndexFieldNames:='ISBN';
if not booktb.findkey([edit1.Text]) then
                                     begin
                                     showmessage('没有这本书');
                                     abort;
                                     end

else
begin
  num1:=strtoint(booktb.fieldbyname('可借数量').AsVariant);
  str1:=booktb.fieldbyname('ISBN').AsString;
  str2:=booktb.fieldbyname('书名').AsString;
  str5:=booktb.fieldbyname('作者').AsString;
  str3:=booktb.fieldbyname('出版社').AsString;
  str4:=booktb.fieldbyname('出版日期').AsString;
  str6:=booktb.fieldbyname('类别').AsString;
  str7:=edit3.Text;
  //studenttb.fieldbyname('姓名').AsString;
  str8:=edit2.text;

  if num1=0 then
     begin
     showmessage('此书已经借完了');
     abort;
     end
     else
     begin
    booktb.Open;
  booktb.Edit;
  studenttb.Edit;
        num1:=num1-1;
        num3:=num3+1;
        booktb.FieldByName('可借数量').AsString:=inttostr(num1);
        studenttb.FieldByName('已借书量').AsString:=inttostr(num3);
     lendbooktb.Append;
     studenttb.Append;
    lendbooktb.InsertRecord([str1,str8,str7,str2,str3,str4,str6]);
      showmessage('借书完毕');

     end;
  end;

end;



end.

⌨️ 快捷键说明

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