o 读者号,bno 书号,rdate 还书日期) 其中,rno 和 bno 都是字符型(3 位) 。 在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在 borrow 表中插入一条借书记录,并将 books 表中该书现有册数减 1。 该界面要实现以下合法性检查: 当该读者已经借了此书,不能再借。 当所借的书现有册数为 0,不能再借。 在 Form1 上建立的数据库组件对象及连接关系如下: Database1-Table1(与 books 表相连)-DataSource1-DBGrid1(显示图书信息) Database1-Query1、Query2 其中为 Table1 建立了 3 个永久字段: Table1bno (书号) Table1bname 、 (书名) Table1num 、 (现有册数) 。 Query1 的 SQL 语句如下: select bno from borrow where rno = :rno and bno = :bno Query2 的 SQL 语句如下: insert into borrow values(:rno,:bno,:rdate) 下面是 Unit1 的代码实现部分,请完成程序填空: --------------------------------------------------------------------------------------------------------------------implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); //“借书”按钮 begin query1.Close ; ; query1.ParamByName('rno').Value := ①
7
query1.ParamByName('bno').Value :=
② ; query1.Open ; if query1['bno'] <> null then begin showmessage('该读者正在借阅此书'); exit ; end ; =0 then if ③ begin showmessage('该书已全部借出'); exit ; end; query2.Close ; query2.ParamByName('rno').Value := edit1.Text ; query2.ParamByName('bno').Value := table1bno.Value ; query2.ParamByName('rdate').Value := date+15 ; query2. ④ ; table1.Edit ; table1num.Value := table1num.Value - 1 ; //现有册数减 1 table1. ⑤ ; end; end. --------------------------------------------------------------------------------------------------------------