【正文】
八.出現(xiàn)的問題及解決辦法 :由于本程序是參考資料的寫的,所以對很多函數(shù)和其他的代碼不是很理解,編寫程序的時。首先根據(jù)數(shù)據(jù)可表和功能模塊決定制全局變量,并把其保存到一個單元文件中,然后順序進(jìn)入子系統(tǒng)的功 能模塊設(shè)計 ,直到最后完成。最后還有一個子系統(tǒng)是介紹圖書館的規(guī)章制度和圖書館的背景。在本系統(tǒng)設(shè)計中, 第一, 對于操作系統(tǒng)子系統(tǒng),提供 登錄 功能,在用戶登錄之后可實現(xiàn)權(quán)限管理、修改密碼和退出系統(tǒng)功能;第二,對于信息查詢子系統(tǒng),用戶進(jìn)入時首先調(diào)用相關(guān)的數(shù)據(jù)表,進(jìn)入系統(tǒng)后,子系統(tǒng)提供圖書信息查詢、讀者信息查詢、借閱信息查詢的功能。 系統(tǒng)劃分子系統(tǒng)之后,就是繼續(xù)劃分子系統(tǒng)的小模塊。 38 七 、 總體設(shè)計方案分析 在構(gòu)造圖書館圖書管理系統(tǒng)時,先從需求出發(fā)構(gòu)造 acce 數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表的結(jié)合和需求劃分系統(tǒng)功能模塊:一個是操作系統(tǒng), 實現(xiàn)不同身份的用戶的登錄;二是信息查詢,便于用戶查詢;三是圖書管理,便于用戶進(jìn)行圖書管理。 end。 ⑿ .圖書館背景窗體設(shè)計: 程序界面如下: 程序主要代碼: procedure (Sender: TObject)。 begin close。 end。 procedure (Sender: TObject)。39。39。39。39。 end。還書不成功 39。 end。 39。 showmessage(39。 close。).value:=。 (39。delete from lend where code=:code39。 begin try with do begin 。 end。 。請輸入借書證號! 39。 end。借書不成功 39。 end。 39。 showmessage(39。 execsql。outdate39。).value:=。 (39。code39。)。+39。 (39。 end。 。 if canlend=false then 36 begin :=+39。 except canlend:=true。 close。 next。 canlend:=false。 (floattostr(()*))。 ()。 if 60 then begin with do begin caption:=。 close。 except :=0。 close。outdate39。 open。readerid39。).AsString。).Value :=ieldbyname(39。 (39。select * from lend where code=:code and readerid=:readerid39。 try //with tempadoquery2 do with do begin 。cost39。).asstring。 :=fieldbyname(39。code39。 open。code39。)。 (39。).AsString。 mmcode:=fieldbyname(39。 canlend:=true。).Value := 。 (39。select code from lend where readerid=:readerid39。 then begin try with do begin 。 begin if 39。 canlend:boolean。 procedure (Sender: TObject)。 end。 :=true。 end。 except :=39。 close。 open。readerid39。)。 (39。 end。 end。 close。 不 存 在39。 借 書 證 號 39。 if recordcount=0 then begin :=false。).Value := 。 (39。select readerid from reader where readerid=:readerid39。 begin if length()=9 then begin with do begin 。 end。 Shift: TShiftState)。 34 procedure (Sender: TObject。 end。 except 。 end。 :=true。 close。 :=true。 end。 :=true。 :=true。).AsString。 :=fieldbyname(39。 owntime:=datefdate。outdate39。 open。code39。)。 (39。 end。數(shù)據(jù)操作出錯 39。 end。 exit。沒有數(shù)據(jù)或數(shù)據(jù)庫操作失敗 39。code39。 active:=true。 :=39。 :=39。 :=39。 :=39。 :=39。 :=39。 if length()=4 then begin try 33 with do begin tablename:=39。 :=39。 :=39。 :=39。 begin :=39。 var fdate:tdate。 end。 close。 next。code39。 first。)。 (39。 var i:integer。 ⑽ .借閱管理窗體設(shè)計: 窗體的名字為: lendform,對應(yīng)的單元文件為: 。 //讀者身份證號 end。 then //修改性別 :=0 else :=1。 //修改證號 :=[i].[0]; //修改姓名 if [i].SubItems[1]=39。 begin for i:=0 to 1 do if [i].Selected then //如果被當(dāng)前被選中 begin :=true。 procedure (Sender: TObject)。)。 showmessage(39。39。39。39。 end。 exit。失敗 39。修改 39。 end。).Value := 。 (39。sex39。).Value := 。 (39。39。39。39。where readerid=39。update reader set name=:readername,sex=:sex,idcardno=:idno 39。 try with do //將修改后的讀者數(shù)據(jù)提交給讀者數(shù)據(jù)表 reader begin 。 exit。讀者借書證號不正確 39。 end。 exit。失敗 39。添加 39。 end。).Value := 。 (39。sex39。).Value := 。 (39。readerid39。)。+ 39。 (39。 end。 end。,mterror,[mbok],0)。+ +39。 if recordcount 0 then begin messagedlg(39。).Value := 。 (39。select readerid from reader where readerid=:readerid39。 with do //檢新讀者提供的借書證是否存在 begin 。 exit。讀者借書證號不正確 39。 procedure (Sender: TObject)。 :=0。 :=39。 :=39。 begin :=39。 end。,mterror,[mbok],0)。+[i].Caption +39。 except messagedlg(39。 (i)。 execsql。readerid39。)。 (39。 end。 end。 end。 checked:=IDyes。).Value :=[i].Caption 。 (39。delete from lend where readerid=:readerid39。, mtconfirmation,[mbYes,mbNo],0)=mrYes then begin 。 if recordcount=0 then //該讀者所借圖書已全部歸還 29 checked:=IDyes else begin //還有圖書沒有歸還 if messagedlg(39。).Value :=[i].Caption 。 (39。select code from lend where readerID=:ReaderID39。 begin for i:= 1 downto 0 do if [i].Selected then //當(dāng)前行是否被選中 try try with do begin 。 var i:integer。 end。 procedure (Sender: TObject)。 end。刷新出錯 39。 except 。 close。 next。).asstring)。 (fieldbyname(39。男 39。女 39。139。sex39。).asstring)。 (fieldbyname(39。readerid39。 。)。 (39。程序界面如下: 28 程序主要代碼: procedure (Sender: TObject)。 ⑼.讀者管理窗體設(shè)計: 窗體的名字: readerform,對應(yīng)的單元文件為: 。 begin if key=13 then //敲回車鍵 bobox1change(sender)。 var Key: Word。 end。 end。數(shù)據(jù)操作出錯 39。 end。not found 39。code39。 //DBmemo 連接數(shù)據(jù)表中 memo 字段 active:=true。 //DBcost 連接數(shù)據(jù)表中 cost 字段 :=39。 //DBoutdate 連接數(shù)據(jù)表中 outdate 字段 :=39。 //DBpress 連接數(shù)據(jù)表中 pre