【正文】
set tmp=tmp*CAST((GETDATE()deadline)as int) update Borrowed set Fine_ticket=tmp where sBookId=bookId update Reader set balance=balancetmp where sReaderId= (select top(1) sReaderId from Borrowed where sBookId=bookId order by DeadLine desc) end update Borrowed set Return_date =GETDATE() where sBookId=bookId 設(shè)置還書(shū)日期 20 update Book set iState=1 where sBookId=bookId END if error0 or rowcount = 0 rollback transaction。 39。%39。%39。 or sPress like 39。and (sBookName like 39。%39。%39。)39。+Isbn 設(shè)置索書(shū)號(hào) select num=RealNum from Stock where StockId=stockId begin while inum begin set bookId=Index+39。 begin 。 //最大借閱量界面 end。 界面 2: version_annoucement(版權(quán)公告) 窗體描述: 窗體名稱: Form_ version_annoucement 單元文件名 : version_annoucement 27 界面 3: max_borrow(借閱數(shù)量與期限) 窗體 描述: 窗體名稱: Form_ max_borrow 單元文件名 : max_borrow 界面 4: special(特色資源) 窗體描述: 窗體名稱: Form_ special 單元文件名 : special 28 界面 5: search(書(shū)目檢索) 窗體描述: 窗體名稱: Form_ search 單元文件名 : search 主要代碼: procedure (Sender: TObject)。 。 :=。 。 GetMem(p,255)。39。 。 strcopy(p,pchar(s1))。+(39。 for k:=0 to do begin matenode:=(personnode,(39。 30 :=p。sclassid39。sbookclass39。 。 end。請(qǐng)先登錄 39。).Value:=Trim(xt)。 if can_borrow=1 then begin s1:=[0].text。+39。 open。 (39。 state:=(39。您有欠款未還! 39。您已借滿! 39。 。 [0].Width:=100。 end。 begin close。 (39。 33 [1].Width:=150。 :=false。 end。id39。 (39。 pos:=(39。)。登陸成功,請(qǐng)返回首頁(yè)! 39。 35 :=false。 :=false。)。 :=false。 :=true。 begin :=false。 end。 :=。 end。balance39。 Open。 //顯示管理員信息 :=true。).Value:=Trim()。state39。 :=false。 界面 11: Change_self_info(修改個(gè)人信息) 窗體描述: 窗體名稱: Form_ Change_self_info 單元文件名 : Change_self_info 主要代碼: with ADOSToredProc1 do begin close。sex39。 (39。 FormShow(Sender)。) or (Trim()=39。 if i=1 then begin showMessage(39。 。order_num39。 ExecProc。 。).Value。).Value:=Trim()。 (39。 。)。 begin if (Trim()=39。 end。).Value:=Trim()。 (39。 。 if then begin MessageDlg(39。 (39。old_pas39。+ADOQuery1[39。 begin with ADOquery1 do begin close。).Value:=Trim()。select sbookname as 書(shū)名 ,deadline as 應(yīng)還日期 ,fine_ticket as 罰單 from Borrowed,Book where sReaderId= 39。sReaderId39。 :=false。 36 procedure (Sender: TObject)。 procedure (Sender: TObject)。 //重置密碼 begin 。 。 :=false。 。 exit。name39。name39。).Value:=Trim()。 exit。 if =39。 :=true。able39。 。 procedure (Sender: TObject)。 [5].Width:=100。 (39。 end。 end else showMessage(39。借閱成功! 39。state39。 。 +s1+ 39。 with adoqry do begin close。 。 。 state:integer。 。).AsString。39。select * from bookclass where len(sclassid)=4 and left(sclassId,3)=39。sclassId39。39。 :=39。 s1:=(39。39。 。).AsString) 。 29 :=。 root:=(nil,39。 p:pchar。請(qǐng)先登錄 !39。 :=true。 23 視圖: 24 3. 軟件功能設(shè)計(jì) 1) 系統(tǒng)的結(jié)構(gòu)圖 2) 功能表 讀者: 1. 我的圖書(shū)館:查看個(gè)人信息,修改密碼 2. 瀏覽書(shū)目 3. 借閱書(shū)目 管理員: 1. 管理用戶:添 加,修改,刪除 2. 修改密碼 普通員工: 1. 信息修改 2. 信息查詢:查詢用戶和書(shū)本的信息 3. 罰款:對(duì)書(shū)本丟失,損壞,超期的讀者進(jìn)行罰款 4. 新書(shū)入庫(kù) 5. 借閱 采購(gòu)員: 1. 信息修改 2. 訂單管理 圖書(shū)館管理系統(tǒng) 圖書(shū)館消息 登錄 普通用戶 管理員 我的圖書(shū)館 瀏覽書(shū)目 借閱書(shū)目 查看書(shū)目 書(shū)目檢索 分類(lèi)瀏覽 借閱書(shū)目 普通員工采購(gòu)員 管理用戶 修改密碼 查詢信息 罰款 新書(shū)入庫(kù) 借閱 信息修改 信息修改 訂單管理 25 四、 系統(tǒng)實(shí)施 1. 系統(tǒng)的界面設(shè)計(jì) 本 圖書(shū)館 管理系統(tǒng)分為 16個(gè)界面,介紹如下: 界面 1: Homepage(主頁(yè)) 窗體描述: 窗體名稱: Form_home_page 單元文件名 :home_page 主要代碼: procedure (Sender: TObject)。 15) 搜索借閱數(shù)為前 n 的書(shū) ALTER PROCEDURE [dbo].[Proc_selectbylendtimes] num int AS BEGIN select top(num) *,COUNT(*)lendtimes from (select sBookName,sAuthor,sIndex,sISBN,sPress,sClassId from Book ,Borrowed where =)view1 group by sIndex,sBookName,sAuthor,sISBN,sPress,sClassId order by lendtimes desc END if error0 or rowcount = 0 rollback transaction。%39。 or smemo like 39。%39。%39。%39。 or sAuthor like 39。39。%39。+cast(GETDATE()as varchar(10)) if exists(select *from [order] where sOrderId=orderid) set state=0 else begin insert into [dbo].[Order] values(orderid,bookname,press,order_num,GETDATE(),orderstaffId) set state=1 end END if error0 or rowcount = 0 rollback transaction。 5) 檢查書(shū)目狀態(tài): ALTER PROCEDURE [dbo].[Proc_Checkbook] bookId varchar(50),bookState int,pages int=null AS BEGIN if bookState=2 缺頁(yè) begin update Borrowed set Fine_ticket=Fine_ticket+ (select fnum from FineKind where iFineKind=2)*pages where sBookId= (select top(1) sBookId from Borrowed where sBookId=bookId order by Return_Date desc) update Book set iState=1 where sBookId=bookId end else if bookState=4 遺失 begin update Borrowed set Fine_ticket=Fine_ticket+ (select fnum from FineKind where iFineKind=4)*(select fPrice from Book where sBookId=bookId) where sBookId= (select top(1) sBookId from Borrowed where sBookId=bookId order by Return_Date desc) update Book se