【正文】
al, see you don39。圖722 圖書罰款窗體,在其設(shè)置的第四步生成sql語句窗口中的編輯框中輸入如下代碼,并在高級(jí)選項(xiàng)中取消選擇生成新增,刪除,更新語句,然后生成到新數(shù)據(jù)集dataset2中,托盤中顯示為dataset21. 編譯并運(yùn)行系統(tǒng)至此我們完成了整個(gè)系統(tǒng)的制作,選擇run/run菜單命令或直接按F9鍵編譯并運(yùn)行程序,可以看到前面“程序運(yùn)行結(jié)果”小節(jié)中介紹的程序。在解決方案資源管理器中,添加一個(gè)新的窗體,在其上放置控件如圖720所示 完成圖書歸還功能,添加一個(gè)新的窗體,并將名稱改為bookreturn,cs在其上放置控件如圖721所示。,在其設(shè)置的第四步生成sql語句窗口中的編輯框中輸入如下代碼,并在高級(jí)選項(xiàng)中取消選中生成更新插入刪除語句。數(shù)據(jù)適配器da1的sql語句:Select * from 圖書信息where (條形碼 like?)and (編號(hào)like?) and(書名 like?),在數(shù)據(jù)集窗口中選中“圖書信息”表中的“是否注銷”字段,并在右邊的屬性欄中的defualt屬性欄中填寫false .,添加一個(gè)新的窗體,在其上放置控件如圖718所示圖718 圖書征訂窗體,在其設(shè)置的第四步生成sql語句窗口中的編輯框中輸入如下代碼,并生成數(shù)據(jù)集dataset11。在解決方案資源管理器中,添加一個(gè)新的窗體,在其上放置控件如圖716所示圖716 圖書類別設(shè)置窗體,添加一個(gè)新的窗體,并將名稱改為””在其上放置控件717所示。在解決方案資源管理器中,添加一個(gè)新的窗體,在其上放置如圖715所示控件。如圖714所示。SQL語句:Select * from 讀者類型 where(類型like?)然后選擇da1,在右邊的屬性窗口中單擊生成數(shù)據(jù)集選項(xiàng),將生成的數(shù)據(jù)集生成到DataSet1中,此后在托盤中將出現(xiàn)dataset1的圖標(biāo)。圖713 讀者類別設(shè)置窗體,并命名為da1,在數(shù)據(jù)適配器選項(xiàng)的第一步選擇libbook,然后在其設(shè)置的第四步生成SQL 語句窗口中的編輯框中分別輸入如下帶碼。在該子窗體中,可以實(shí)現(xiàn)對(duì)圖書館管理系統(tǒng)中讀者類別數(shù)據(jù)的插入,編輯,刪除,瀏覽和查詢等各項(xiàng)操作。 利用系統(tǒng)默認(rèn)生成的窗體作為主窗體,并為其添加一個(gè)主菜單(MainMenu)控件和一個(gè)狀態(tài)欄(StatusBar)控件,各個(gè)控件的布局如圖712窗體。 where 借閱編號(hào)=借閱編號(hào)mitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOcreate proc sf_圖書征訂asbegin tran 驗(yàn)收入庫,增加圖書庫存量 update 圖書信息 set 庫存總量 = isnull(庫存總量,0) + , 現(xiàn)存量 = isnull(現(xiàn)存量,0) + , 入庫時(shí)間 = 圖書信息 as a, 圖書征訂 as bwhere = and =0 設(shè)置圖書征訂記錄的標(biāo)志,標(biāo)志為已驗(yàn)收 update 圖書征訂 set 驗(yàn)收日期=getdate(), 是否驗(yàn)收=1 where 是否驗(yàn)收=0mitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO 創(chuàng)建工程啟動(dòng)Microsoft ,在主菜單中選擇[文件]|[新建]|[項(xiàng)目]命令,彈出[新建項(xiàng)目]對(duì)話框,在[項(xiàng)目類型]列表框中選擇[]選項(xiàng),然后在[模板]列表框中選擇[Window應(yīng)用程序]。mitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOcreate proc sf_圖書歸還 借閱編號(hào) int, 罰款金額 moneyasbegin tran 借書出庫,減少圖書庫存量 update 圖書信息 set 現(xiàn)存量 = isnull(現(xiàn)存量,0) + 1 from 圖書信息 as a, 圖書借閱 as b where = and =借閱編號(hào) 如果罰金不是0, 在 圖書罰款 中產(chǎn)生記錄 if 罰款金額 0 insert into 圖書罰款(圖書編號(hào),讀者編號(hào),罰款日期,應(yīng)罰金額,是否交款) select 圖書編號(hào),讀者編號(hào),getdate(), 罰款金額, 0 from 圖書借閱 where 借閱編號(hào)=借閱編號(hào) 插入圖書歸還表 insert into 圖書歸還(圖書編號(hào),讀者編號(hào),歸還時(shí)間) select 圖書編號(hào),讀者編號(hào),getdate() from 圖書借閱 where 借閱編號(hào)=借閱編號(hào) 設(shè)置借閱狀態(tài) update 圖書借閱 set 狀態(tài)=39。 where 狀態(tài)=39。 設(shè)置借閱狀態(tài) update 圖書借閱 set 續(xù)借次數(shù)=0,狀態(tài)=39。create proc sf_圖書借閱 asbegin tran 借書出庫,減少圖書庫存量 update 圖書信息 set 現(xiàn)存量 = isnull(現(xiàn)存量,0) 1 from 圖書信息 as a, 圖書借閱 as b where = and =39。ALTER TABLE [dbo].[圖書信息] WITH NOCHECK ADD CONSTRAINT [PK_圖書信息] PRIMARY KEY CLUSTERED ( [編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書借閱] WITH NOCHECK ADD CONSTRAINT [PK_圖書借閱] PRIMARY KEY CLUSTERED ( [借閱編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書歸還] WITH NOCHECK ADD CONSTRAINT [PK_圖書歸還] PRIMARY KEY CLUSTERED ( [歸還編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書征訂] WITH NOCHECK ADD CONSTRAINT [PK_圖書征訂] PRIMARY KEY CLUSTERED ( [征訂編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書注銷] WITH NOCHECK ADD CONSTRAINT [PK_圖書注銷] PRIMARY KEY CLUSTERED ( [注銷編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書類型] WITH NOCHECK ADD CONSTRAINT [PK_圖書類型] PRIMARY KEY CLUSTERED ( [類型編號(hào)] ) ON [PRIMARY] GOALTER TABLE [dbo].[圖書罰款] WITH NOCHECK ADD CONSTRAINT [PK_圖書罰款] PRIMARY KEY CLUSTERED ( [罰款編號(hào)] ) ON [PRIMARY] GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GO 創(chuàng)建存儲(chǔ)過程系統(tǒng)使用了“sl_圖書征訂”,“sf_圖書借閱”,“sf_圖書歸還”三個(gè)存儲(chǔ)過程,實(shí)現(xiàn)的功能分別為征訂圖書入庫、借閱圖書出庫和歸還圖書入庫,產(chǎn)生罰款信息等功能。完成數(shù)據(jù)庫的設(shè)計(jì)。其中每張表所包含的字段讀者可以自己查看建庫腳本和前面的需求分析。 圖書館管理系統(tǒng)數(shù)據(jù)表清單 下面我們僅列出一些重要表的名稱及其用途供參考。圖41為圖書館管理系統(tǒng)關(guān)鍵實(shí)體的ER 圖?;谶@此問題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。在某些情況下,DBMS產(chǎn)品不具備實(shí)施必要業(yè)務(wù)規(guī)則的能力,必須以代碼形式把它們編入應(yīng)用程序。不管無效的數(shù)