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

📄 dmfrm.pas

📁 基于Interbase的图书管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  Qryborrow.SQL.Clear;
  Qryborrow.SQL.Add('select * from BORROWITEMS');
  Qryborrow.SQL.Add('where (BORROW_ID=(SELECT BORROW_ID FROM BORROWBOOKS');
  Qryborrow.SQL.Add('WHERE READER_ID=:IREADER_ID))and(BOOK_ID=:IBOOK_ID)');
  Qryborrow.Prepare;
  Qryborrow.ParamByName('IREADER_ID').AsString:=Areaderid;
  Qryborrow.ParamByName('IBOOK_ID').AsString:=Abookid;
  Qryborrow.Open;
 try
  Aborrowdate:=Qryborrow['BORROW_DATE'];
 except
  Aborrowdate:=Emptystr;
 end;
 try
  Aborrowday:=Qryborrow['BORROW_DAY'];
 except
  Aborrowday:=Emptystr;
 end;
  try
  Arenewaldate:=Qryborrow['RENEWAL_DATE'];
  except
  Arenewaldate:=Emptystr;
  end;
  try
  Arenewalday:=Qryborrow['RENEWAL_DAY'];
  except
   Arenewalday:=Emptystr;
  end;
  if Qryborrow.Active then Qryborrow.Active:=false;
  Qryborrow.SQL.Clear;
  Qryborrow.SQL.Text:=tempsql;
  Qryborrow.Open;
end;

procedure TDMbook.openBorrowitems;
begin
if Qryborrowitems.Active then Qryborrowitems.Active:=false;
  Qryborrowitems.SQL.Clear;
  Qryborrowitems.SQL.Add('SELECT * FROM BORROWITEMS');
  try
  Qryborrowitems.Prepare;
  Qryborrowitems.Open;
  except
  end;
end;

procedure TDMbook.closeBorrowitems;
begin
 if Qryborrowitems.Active then Qryborrowitems.Close;
 qryborrowitems.Filter:=emptystr;
 qryborrowitems.Filtered:=false;
end;

procedure TDMbook.isrenewaled(Areaderid,Abookid:string;var Atempbool:boolean);
var
 Rewsql:string;
begin
  Atempbool:=false;
  if QryRenewal.Active then QryRenewal.Active:=false;
  Rewsql:=QryRenewal.SQL.Text;
  QryRenewal.SQL.Clear;
  QryRenewal.SQL.Add('select * from BORROWITEMS');
  QryRenewal.SQL.Add('where (BORROW_ID=(SELECT BORROW_ID FROM BORROWBOOKS');
  QryRenewal.SQL.Add('WHERE READER_ID=:IREADER_ID))and(BOOK_ID=:IBOOK_ID)');
  QryRenewal.Prepare;
  QryRenewal.ParamByName('IREADER_ID').AsString:=Areaderid;
  QryRenewal.ParamByName('IBOOK_ID').AsString:=Abookid;
  QryRenewal.Open;
  Atempbool:=(QryRenewal['RENEWAL_DAY']>0);
  if QryRenewal.Active then QryRenewal.Active:=false;
  QryRenewal.SQL.Clear;
  QryRenewal.SQL.Text:=Rewsql;
  QryRenewal.Open;
end;

procedure TDMbook.insertborrowhistory(Areaderid, Abookid,
  Abookname: string; Aborrowdate: Tdatetime; Aborrowday: integer);
begin
 try
  SPborrowhistory.Prepare;
  SPborrowhistory.Params[0].AsString:=Areaderid;
  SPborrowhistory.Params[1].AsString:=Abookid;
  SPborrowhistory.Params[2].AsString:=Abookname;
  SPborrowhistory.Params[3].AsDateTime:=Aborrowdate;
  SPborrowhistory.Params[4].AsInteger:=Aborrowday;
  SPborrowhistory.ExecProc;
 except
 end;
end;

procedure TDMbook.renewalbook(Areaderid, Abookid:string;
Arenewaldate:Tdatetime;Arenewalday: integer);
begin
     dbasebook.StartTransaction;
 try
     with SPrenewal do
    begin
      Prepare;
      Params[0].AsString:=Areaderid;
      Params[1].AsString:=Abookid;
      Params[2].AsDateTime:=Arenewaldate;
      Params[3].AsInteger:=Arenewalday;
      ExecProc;
   end;
      dbasebook.Commit;
 except
    dbasebook.Rollback;
    raise;
 end;
end;

function TDMbook.passdaymothed(Anow, Athen: Tdatetime;
  Aday: integer): integer;
begin
   Result:=DaysBetween(Anow,Athen)-Aday;
end;

function TDMbook.comparedatemothed(A,B: Tdatetime): integer;
var
 temptype:-1..1;
begin
  Result:=0;
   temptype:=CompareDateTime(A,B);
   case temptype of
    -1:Result:=-1;
     0:Result:=0;
     1:Result:=1;
   end;
end;

procedure TDMbook.returnbook(Areaderid, Abookid: string; Aborrowday,
  Aborrowpassday, Arenewalday, Arenewalpassday: integer; Aborrowdate,
  Arenewaldate, Areturndate: Tdatetime);
begin
      dbasebook.StartTransaction;
 try
     with SPreturn do
    begin
      Prepare;
      Params[0].AsString:=Areaderid;
      Params[1].AsString:=Abookid;
      Params[2].AsDateTime:=Areturndate;
      Params[3].AsDateTime:=Aborrowdate;
      Params[4].AsInteger:=Aborrowday;
      Params[5].AsDateTime:=Arenewaldate;
      Params[6].AsInteger:=Arenewalday;
      Params[7].AsInteger:=Aborrowpassday;
      Params[8].AsInteger:=Arenewalpassday;
      ExecProc;
   end;
      dbasebook.Commit;
 except
    dbasebook.Rollback;
    raise;
 end;
end;

procedure TDMbook.goreaderid(Areaderid: string;var Aresult:boolean);
begin
 Aresult:=false;
   dbasebook.StartTransaction;
 try
     with SPgoid do
    begin
      try
      Prepare;
      Params[0].AsString:=Areaderid;
      Params[1].AsDateTime:=now;
      open;
      except
      end;
    end;
      dbasebook.Commit;
     case SPgoid.ParamByName('RVALUES').AsInteger of
     0:Aresult:=false;
     1:Aresult:=true;
     end;
 except
    dbasebook.Rollback;
    Aresult:=false;
    raise;
 end;
end;

procedure TDMbook.bigtypefirst;
begin
  Qrybigtype.First;
end;

procedure TDMbook.bookfirst;
begin
Qrybook.First;
end;

procedure TDMbook.readerfirst;
begin
Qryreader.First;
end;

procedure TDMbook.borrowfirst;
begin
Qryborrow.First;
end;

procedure TDMbook.renewalfirst;
begin
QryRenewal.First;
end;

procedure TDMbook.smalltypefirst;
begin
Qrysmalltype.First;
end;

procedure TDMbook.openborrowhistory;
begin
if Qryborrowhistory.Active then Qryborrowhistory.Close;
Qryborrowhistory.Open;
end;

procedure TDMbook.closeborrowhistory;
begin
if Qryborrowhistory.Active then Qryborrowhistory.Close;
qryborrowhistory.Filter:=emptystr;
qryborrowhistory.Filtered:=false;
end;

procedure TDMbook.closeReturnHistory;
begin
if Qryreturnhistory.Active then Qryreturnhistory.Close;
qryreturnhistory.Filter:=emptystr;
qryreturnhistory.Filtered:=false;
end;

procedure TDMbook.openReturnHistory;
begin
if Qryreturnhistory.Active then Qryreturnhistory.Close;
Qryreturnhistory.Open;
end;

procedure TDMbook.QryclosetimeCalcFields(DataSet: TDataSet);
begin
Qryclosetime['passcount']:=Qryclosetime['borrow_time']+Qryclosetime['renewal_time'];
end;

procedure TDMbook.closeClosetime;
begin
if Qryclosetime.Active then Qryclosetime.Close;
qryclosetime.Filter:=emptystr;
qryclosetime.Filtered:=false;
end;

procedure TDMbook.openClosetime;
begin
if Qryclosetime.Active then Qryclosetime.Close;
Qryclosetime.Open;
end;

procedure TDMbook.closeBooklose;
begin
if Qrybooklose.Active then Qrybooklose.Close;
qrybooklose.Filter:=emptystr;
qrybooklose.Filtered:=false;
end;

procedure TDMbook.openBooklose;
begin
if Qrybooklose.Active then Qrybooklose.Close;
Qrybooklose.Open;
end;

procedure TDMbook.clearBookLose;
begin
 if qryclear.Active then qryclear.Active:=false;
 Qryclear.SQL.Clear;
 qryclear.SQL.Add('delete from booklose');
 qryclear.ExecSQL;
end;

procedure TDMbook.clearBorrowHistory;
begin
 if qryclear.Active then qryclear.Active:=false;
 Qryclear.SQL.Clear;
 qryclear.SQL.Add('delete from borrowhistory');
 qryclear.ExecSQL;
end;

procedure TDMbook.clearReturnHistory;
begin
 if qryclear.Active then qryclear.Active:=false;
 Qryclear.SQL.Clear;
 qryclear.SQL.Add('delete from returnhistory');
 qryclear.ExecSQL;
end;

procedure TDMbook.clearReaderQuit;
begin
 if qryclear.Active then qryclear.Active:=false;
 Qryclear.SQL.Clear;
 qryclear.SQL.Add('delete from readerquit');
 qryclear.ExecSQL;
end;

procedure TDMbook.closeQrymaster;
begin
qrymaster.Close;
end;

procedure TDMbook.openQrymaster;
begin
qrymaster.Open;
end;

procedure TDMbook.closeQryTypemaster;
begin
qrytypemaster.Close;
end;

procedure TDMbook.openQryTypemaster;
begin
qrytypemaster.Open;
end;

procedure TDMbook.closeQryReaderQuit;
begin
QryReaderQuit.Close;
end;

procedure TDMbook.OpenQryReaderQuit;
begin
QryReaderQuit.Open;
end;

procedure TDMbook.bookaccept;
begin
try
Dbasebook.ApplyUpdates([qrybook]);
except
  messagedlg('保存数据失败!',mtError,[mbOK],0);
end;
end;

procedure TDMbook.bookcancel;
begin
qrybook.CancelUpdates;
end;

procedure TDMbook.bookdelete;
begin
qrybook.Delete;
end;

procedure TDMbook.bookedit;
begin
qrybook.Edit;
end;

procedure TDMbook.bookinsert;
begin
qrybook.Insert;
end;

procedure TDMbook.booklast;
begin
qrybook.Last;
end;

procedure TDMbook.booknext;
begin
qrybook.Next;
end;

procedure TDMbook.bookprior;
begin
qrybook.Prior;
end;

procedure TDMbook.bookpost;
begin
qrybook.Post;
end;

procedure TDMbook.bookfind(Abook_id:string);
begin
qrybook.Locate('book_id',Abook_id,[]);
end;

function TDMbook.IsFirst(Astate: string):boolean;
begin
 if Astate='book' then Result := qrybook.Bof;
 if Astate='reader' then Result := qryreader.Bof;
end;

function TDMbook.IsLast(Astate: string):boolean;
begin
 if Astate='book' then Result := qrybook.Eof;
 if Astate='reader' then Result := qryreader.Eof;
end;

end.

⌨️ 快捷键说明

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