📄 dmfrm.pas
字号:
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 + -