我的code如下: procedure TForm8.Button2Click(Sender: TObject); var sbookno:Integer; snewstud:Integer; begin sbookno:=strtoint(dbedit4.Text); with datamodule9.BookTable do begin close; IndexFieldNames:='bookid'; readonly:=false; open; findkey([sbookno]); end; if datamodule9.booktable.fieldbyname('bookstatus').asboolean=true then {如果此书已被预约} begin with datamodule9.BookTable do begin edit; setFields([nil,nil,nil,nil,nil,true,false]); post; end; with datamodule9.recordtable do beginindexfieldnames:='bookid'; open; findkey([sbookno]); snewstud:=datamodule9.recordtable.fieldbyname('orderstudent').asinteger; datamodule9.RecordTable.Edit; datamodule9.RecordTable.SetFields([nil,nil,snewstud,null,null,false,false]); datamodule9.RecordTable.post; end; end else {如果图书未被预约} begin with datamodule9.BookTable do begin edit;{修改图书记录中的借阅和预约状态字段值} setFields([nil,nil,nil,nil,nil,false,false]); post; end; with datamodule9.recordtable do beginindexfieldnames:='bookid'; open; {根据书号让记录指针指向借阅此图书的记录} Findkey([sbookno]); Delete; {删除借阅此图书的记录} post; end; end; showmessage('恭喜,已经归还图书'); end;
procedure TForm8.Button2Click(Sender: TObject);
var
sbookno:Integer;
snewstud:Integer;
begin
sbookno:=strtoint(dbedit4.Text);
with datamodule9.BookTable do
begin
close;
IndexFieldNames:='bookid';
readonly:=false;
open;
findkey([sbookno]);
end;
if datamodule9.booktable.fieldbyname('bookstatus').asboolean=true then
{如果此书已被预约}
begin
with datamodule9.BookTable do
begin
edit;
setFields([nil,nil,nil,nil,nil,true,false]);
post;
end;
with datamodule9.recordtable do
beginindexfieldnames:='bookid';
open;
findkey([sbookno]);
snewstud:=datamodule9.recordtable.fieldbyname('orderstudent').asinteger;
datamodule9.RecordTable.Edit;
datamodule9.RecordTable.SetFields([nil,nil,snewstud,null,null,false,false]);
datamodule9.RecordTable.post;
end;
end
else {如果图书未被预约}
begin
with datamodule9.BookTable do
begin
edit;{修改图书记录中的借阅和预约状态字段值}
setFields([nil,nil,nil,nil,nil,false,false]);
post;
end;
with datamodule9.recordtable do
beginindexfieldnames:='bookid';
open;
{根据书号让记录指针指向借阅此图书的记录}
Findkey([sbookno]);
Delete; {删除借阅此图书的记录}
post;
end;
end;
showmessage('恭喜,已经归还图书');
end;