版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 數(shù)據(jù)庫課程設(shè)計(jì) 設(shè)計(jì)報(bào)告</p><p> 課程名稱:圖書館管理系統(tǒng)</p><p> 項(xiàng)目背景(寫出項(xiàng)目系統(tǒng)提出背景和必要)</p><p> 現(xiàn)在,科學(xué)技術(shù)的飛速發(fā)展把人類社會(huì)推向了一個(gè)嶄新的時(shí)代——信息時(shí)代。這已是無可爭(zhēng)議的事實(shí);信息對(duì)社會(huì)經(jīng)濟(jì)發(fā)展的巨大推動(dòng)作用,使其與物質(zhì)能源一起并列為現(xiàn)代社會(huì)的三大支柱,這已在全社會(huì)達(dá)到共識(shí)。
2、圖書管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以圖書管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來
3、越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生檔案信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。圖書管理系統(tǒng)的建立更進(jìn)一步的方便了師生對(duì)圖書的借閱。</p><p><b> 2 、系統(tǒng)功能</b><
4、/p><p> 本系統(tǒng)為我校圖書館管理系統(tǒng),其功能由圖書館圖書館圖書管理的日常事物確定,力求提高我校師生圖書借閱工作的效率,壓縮圖書節(jié)約信息流通的成本和時(shí)間,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)。方便圖書統(tǒng)計(jì),借閱與報(bào)表的生成,為我校師生借閱圖書提供了便捷的服務(wù),系統(tǒng)主要完成如下功能:</p><p> 圖書基本信息管理登記,提供圖書的基本信息輸入</p>
5、<p><b> 登記學(xué)生借閱情況</b></p><p> 統(tǒng)計(jì)分析圖書借閱情況</p><p> 圖書系統(tǒng)管理流程圖:</p><p><b> 數(shù)據(jù)庫設(shè)計(jì):</b></p><p> 本系統(tǒng)主要設(shè)計(jì)對(duì)象(實(shí)體):讀者、書</p><p> 與讀者
6、相關(guān)的信息:編號(hào)、姓名、性別、類型、出生日期、有效證件、證件號(hào)碼、聯(lián)系方式、登記日期</p><p> 與書相關(guān)的信息:編號(hào)、書名、作者、出版社、價(jià)格</p><p> 圖書的借閱是系統(tǒng)的核心行為,涉及(借期、還期)就是借閱時(shí)間</p><p> 經(jīng)過分析,系統(tǒng)E—R模型圖如下:</p><p> 將E——R模型圖轉(zhuǎn)換,得到以下以下關(guān)
7、系模式</p><p> 讀者(讀者編號(hào)、姓名、性別、類型、出生日期、有效證件、證件號(hào)碼、聯(lián)系方式、登記日期)</p><p> 書(圖書編號(hào)、書名、作者、出版社、價(jià)格)</p><p> 借閱(讀者編號(hào)、歸還編號(hào)、罰款編號(hào)、借閱編號(hào)、圖書編號(hào))</p><p> 因?yàn)椋鹤x者(讀者號(hào)、姓名、性別、類型、出生日期、有效證件、證件號(hào)碼、聯(lián)
8、系方式、登記日期)</p><p> 函數(shù)依賴集={讀者號(hào) 姓名,讀者號(hào) 性別,讀者號(hào) 類型,讀者號(hào) 出生日期,讀者號(hào) 有效證件,讀者號(hào) 證件號(hào)碼,讀者號(hào) 聯(lián)系方式,讀者號(hào) 登記日期}</p><p> 關(guān)系中的碼=讀者號(hào),</p><p> 非主屬性=(姓名,性別)</p><p> 因?yàn)椋好恳粋€(gè)
9、屬性都是單一的屬性,所以達(dá)到第一范式,</p><p> 每一個(gè)非主屬性完全依賴于碼,所以達(dá)到第二范式,</p><p> 又因?yàn)椋篟中的每一個(gè)非主屬性不傳遞依賴于碼,所以進(jìn)一步達(dá)到第三范式</p><p><b> 實(shí)驗(yàn)步驟:</b></p><p> 1、啟動(dòng)查詢分析器,輸入SQL語句,并執(zhí)行:</p&
10、gt;<p> Create database library</p><p> On primary</p><p> (name=圖書管理數(shù)據(jù)庫文件,</p><p> filename='d:\db\library.mdf',</p><p><b> size=5,</b>
11、</p><p> maxsize=30,</p><p> fileGrowth=2)</p><p><b> log on</b></p><p> (name=圖書管理日志文件,</p><p> filename='d:\db\library.ldf',<
12、/p><p><b> size=5,</b></p><p> maxsize=30,</p><p> fileGrowth=2)</p><p> 在查詢分析器輸入SQL語句,創(chuàng)建表,</p><p><b> SQL語言如下:</b></p>&l
13、t;p> 創(chuàng)建“讀者信息”數(shù)據(jù)表</p><p><b> SQL腳本如下:</b></p><p> CREATE TABLE [dbo].[讀者信息] ( </p><p> [編號(hào)] [varchar] (20) NOT NULL ,</p><p> [姓名] [varchar]
14、(20) NULL ,</p><p> [性別] [varchar] (8) NULL ,</p><p> [類型] [varchar] (20) NOT NULL ,</p><p> [出生日期] [smalldatetime] NULL ,</p><p> [有效證件] [varchar] (60) NULL ,</
15、p><p> [證件號(hào)碼] [varchar] (60) NULL ,</p><p> [聯(lián)系方式] [varchar] (100) NULL ,</p><p> [登記日期] [smalldatetime] NULL ,</p><p> ) ON [PRIMARY]</p><p><b> G
16、O</b></p><p> 創(chuàng)建“圖書信息”數(shù)據(jù)表</p><p><b> SQL腳本如下:</b></p><p> CREATE TABLE [dbo].[圖書信息] (</p><p> [編號(hào)] [varchar] (50) NOT NULL ,</p><p>
17、 [書名] [varchar] (200) NULL ,</p><p> [作者] [varchar] (100) NULL ,</p><p> [出版社] [varchar] (100) NULL ,</p><p> [價(jià)格] [money] (8)NULL ,</p><p> [現(xiàn)存量] [int] (4)NULL ,&l
18、t;/p><p> ) ON [PRIMARY]</p><p><b> GO</b></p><p> 創(chuàng)建“圖書借閱”數(shù)據(jù)表</p><p><b> SQL腳本如下:</b></p><p> CREATE TABLE [dbo].[圖書借閱] (</p&
19、gt;<p> [借閱編號(hào)] [int] IDENTITY (1, 1) NOT NULL ,</p><p> [圖書編號(hào)] [varchar] (50) NULL ,</p><p> [讀者編號(hào)] [varchar] (40) NULL ,</p><p> [借閱時(shí)間] [smalldatetime] (4) NULL ,</p&
20、gt;<p> [應(yīng)還時(shí)間] [smalldatetime] (4) NULL ,</p><p> [續(xù)借次數(shù)] [int] (4) NULL ,</p><p> [狀態(tài)] [varchar] (10) NULL </p><p> ) ON [PRIMARY]</p><p><b> GO</b
21、></p><p> 創(chuàng)建“圖書罰款”數(shù)據(jù)表</p><p> SQL腳本語言如下:</p><p> CREATE TABLE [dbo].[圖書罰款] (</p><p> [罰款編號(hào)] [int] IDENTITY (1, 1) NOT NULL ,</p><p> [圖書編號(hào)] [varcha
22、r] (50) NULL ,</p><p> [讀者編號(hào)] [varchar] (20) NULL ,</p><p> [罰款日期] [smalldatetime] NULL ,</p><p> [應(yīng)罰金額] [money] NULL ,</p><p> [實(shí)收金額] [money] NULL ,</p><
23、;p> [是否交款] [char] (10) NULL ,</p><p> ) ON [PRIMARY]</p><p><b> GO</b></p><p> 創(chuàng)建“圖書歸還”數(shù)據(jù)表</p><p> SQL腳本語言如下:</p><p> CREATE TABLE [db
24、o].[圖書歸還] (</p><p> [歸還編號(hào)] [int] IDENTITY (1, 1) NOT NULL ,</p><p> [圖書編號(hào)] [varchar] (50) NULL ,</p><p> [讀者編號(hào)] [varchar] (40) NULL ,</p><p> [退還押金] [money] NULL ,&
25、lt;/p><p> [歸還時(shí)間] [smalldatetime] NULL ,</p><p> [確定歸還] [text] (16) NULL </p><p> ) ON [PRIMARY]</p><p><b> GO</b></p><p> 創(chuàng)建主鍵和外鍵等表約束</p&
26、gt;<p> 在查詢分析器中通過如下代碼創(chuàng)建數(shù)據(jù)表的主鍵及外鍵等表約束</p><p> SQL腳本語言如下:</p><p> ALTER TABLE [dbo].[圖書信息] WITH NOCHECK ADD </p><p> CONSTRAINT [PK_圖書信息] PRIMARY KEY CLUSTERED </p>
27、<p><b> (</b></p><p><b> [編號(hào)]</b></p><p> ) ON [PRIMARY] </p><p><b> GO</b></p><p> ALTER TABLE [dbo].[圖書借閱] WITH NOCHEC
28、K ADD </p><p> CONSTRAINT [PK_圖書借閱] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p><b> [借閱編號(hào)]</b></p><p> ) ON [PRIMARY] </p><p
29、><b> GO</b></p><p> ALTER TABLE [dbo].[圖書歸還] WITH NOCHECK ADD </p><p> CONSTRAINT [PK_圖書歸還] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p&
30、gt;<b> [歸還編號(hào)]</b></p><p> ) ON [PRIMARY] </p><p><b> GO</b></p><p> ALTER TABLE [dbo].[圖書罰款] WITH NOCHECK ADD </p><p> CONSTRAINT [PK_圖書罰款
31、] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p><b> [罰款編號(hào)]</b></p><p> ) ON [PRIMARY] </p><p><b> GO</b></p><p>
32、 ALTER TABLE [dbo].[讀者信息] WITH NOCHECK ADD </p><p> CONSTRAINT [PK_讀者信息] PRIMARY KEY CLUSTERED </p><p><b> (</b></p><p><b> [編號(hào)]</b></p><p>
33、; ) ON [PRIMARY] </p><p><b> GO</b></p><p> ALTER TABLE [dbo].[圖書借閱] ADD </p><p> CONSTRAINT [圖書借閱_圖書編號(hào)_fk] FOREIGN KEY </p><p><b> (</b>&
34、lt;/p><p><b> [圖書編號(hào)]</b></p><p> ) REFERENCES [dbo].[圖書信息] (</p><p><b> [編號(hào)]</b></p><p><b> )</b></p><p><b> GO
35、</b></p><p> ALTER TABLE [dbo].[圖書歸還] ADD </p><p> CONSTRAINT [圖書歸還_圖書編號(hào)_fk] FOREIGN KEY </p><p><b> (</b></p><p><b> [圖書編號(hào)]</b></p
36、><p> ) REFERENCES [dbo].[圖書信息] (</p><p><b> [編號(hào)]</b></p><p><b> )</b></p><p><b> GO</b></p><p> ALTER TABLE [dbo].[圖
37、書罰款] ADD </p><p> CONSTRAINT [FK_圖書罰款_讀者信息] FOREIGN KEY </p><p><b> (</b></p><p><b> [讀者編號(hào)]</b></p><p> ) REFERENCES [dbo].[讀者信息] (</p>
38、;<p><b> [編號(hào)]</b></p><p><b> ),</b></p><p> CONSTRAINT [FK_圖書罰款_圖書信息] FOREIGN KEY </p><p><b> (</b></p><p><b> [圖書
39、編號(hào)]</b></p><p> ) REFERENCES [dbo].[圖書信息] (</p><p><b> [編號(hào)]</b></p><p><b> )</b></p><p><b> GO</b></p><p><
40、;b> 得出關(guān)系圖如下</b></p><p><b> :</b></p><p> 輸入圖書信息表的數(shù)據(jù):</p><p> 輸入讀者信息表的數(shù)據(jù):</p><p> 輸入圖書借閱表的數(shù)據(jù):</p><p> 輸入圖書歸還表的數(shù)據(jù):</p><
41、p> 輸入圖書罰款表的數(shù)據(jù):</p><p><b> 創(chuàng)建存儲(chǔ)過程</b></p><p> 系統(tǒng)使用了“sf_圖書借閱”和“sf_圖書歸還”兩個(gè)存儲(chǔ)過程,實(shí)現(xiàn)的功能分別為借閱圖書出庫和歸還圖書入庫,產(chǎn)生罰款信息等功能。</p><p> SQL腳本語言如下:</p><p> create proc
42、sf_圖書借閱</p><p><b> as</b></p><p> begin tran …………………………..注釋:借圖書出庫,減少了圖書庫里的圖書存量</p><p> update 圖書信息 set 現(xiàn)存量 = isnull(現(xiàn)存量,0) - 1</p><p> from 圖書信息 as a
43、, 圖書借閱 as b</p><p> where a.編號(hào)=b.圖書編號(hào) and b.狀態(tài)='新借'</p><p> ……………………………………………注釋:設(shè)置借閱狀態(tài)</p><p> update 圖書借閱 set 續(xù)借次數(shù)=0,狀態(tài)='未還'</p><p> where 狀態(tài)='
44、新借'</p><p><b> commit</b></p><p><b> GO</b></p><p> SET QUOTED_IDENTIFIER OFF </p><p><b> GO</b></p><p> SET A
45、NSI_NULLS ON </p><p><b> GO</b></p><p> SET QUOTED_IDENTIFIER ON </p><p><b> GO</b></p><p> SET ANSI_NULLS ON </p><p><b>
46、 GO</b></p><p> create proc sf_圖書歸還 @借閱編號(hào) int, @罰款金額 money</p><p><b> as</b></p><p> begin tran……………………………………..注釋:還書入庫,增加存儲(chǔ)量</p><p> update 圖書信息
47、set 現(xiàn)存量 = isnull(現(xiàn)存量,0) + 1</p><p> from 圖書信息 as a, 圖書借閱 as b</p><p> where a.編號(hào)=b.圖書編號(hào) and b.借閱編號(hào)=@借閱編號(hào)</p><p> .......................................注釋:如果罰款不是0,在圖書罰款中產(chǎn)生記錄</
48、p><p> if @罰款金額<> 0</p><p> insert into 圖書罰款(圖書編號(hào),讀者編號(hào),罰款日期,應(yīng)罰金額,是否交款)</p><p> select 圖書編號(hào),讀者編號(hào),getdate(), @罰款金額, 0</p><p> from 圖書借閱 where 借閱編號(hào)=@借閱編號(hào)</p>
49、<p> …………………….注釋:插入圖書歸還表</p><p> insert into 圖書歸還(圖書編號(hào),讀者編號(hào),歸還時(shí)間)</p><p> select 圖書編號(hào),讀者編號(hào),getdate()</p><p> from 圖書借閱 where 借閱編號(hào)=@借閱編號(hào)</p><p> …………………………………
50、….注釋:設(shè)置借閱狀態(tài)</p><p> update 圖書借閱 set 狀態(tài)='已還' where 借閱編號(hào)=@借閱編號(hào)</p><p><b> commit</b></p><p><b> GO</b></p><p> SET QUOTED_IDENTIFIER O
51、FF </p><p><b> GO</b></p><p> SET ANSI_NULLS ON </p><p><b> GO</b></p><p><b> SQL查詢語句:</b></p><p> 查詢編號(hào)為“000001”的圖
52、書的信息:</p><p> 輸入SQL語句:select *</p><p><b> From 圖書信息</b></p><p> Where 編號(hào)=’000001’</p><p><b> 查詢結(jié)果為:</b></p><p> 查詢清華大學(xué)出版社圖書的信息
53、,按圖書編號(hào)升序排序:</p><p> 輸入SQL語句:select *</p><p><b> From 圖書信息</b></p><p> Where 出版社=’清華大學(xué)出版社’</p><p> Order by編號(hào)</p><p><b> 查詢結(jié)果為:</b
54、></p><p> 查詢所有姓張的讀者:</p><p><b> 輸入SQL語句為:</b></p><p><b> select *</b></p><p> From 讀者信息</p><p> Where (姓名like ’張%’)</p&
55、gt;<p><b> 查詢結(jié)果為:</b></p><p> 還有各種查詢語句,在這里就不一一舉例了。</p><p><b> 完成結(jié)果:</b></p><p><b> 登陸界面</b></p><p><b> 讀者信息管理模塊:&l
56、t;/b></p><p><b> 圖書信息管理模塊:</b></p><p><b> 、</b></p><p> 圖書借閱信息管理模塊:</p><p><b> 、</b></p><p> 圖書歸還信息管理模塊</p&g
57、t;<p> 圖書罰款信息管理模塊</p><p><b> 創(chuàng)建工程:</b></p><p> 啟動(dòng)VB6.0,在主菜單中選擇[文件]/[新建工程]命令,在彈出的[新建工程]對(duì)話框中選擇[標(biāo)準(zhǔn)EXE]命令,然后單擊[確定]按鈕。</p><p><b> 54768132</b></p>
58、;<p> 創(chuàng)建一個(gè)主窗體,命名為frmMain.frm,</p><p> (1)用菜單編輯器為其添加一個(gè)主菜單,布局為</p><p> 讀者管理(W) 圖書管理(X) 系統(tǒng)管理(Z)</p><p> 讀者信息CTRL+A 圖書信息CTRL+B
59、 管理員F1</p><p> 圖書借閱CTRL+F 關(guān)于F2</p><p> 圖書歸還CTRL+G 退出CTRL+Q</p><p> 圖書罰款CTRL+H</p><p> ?。ú藛尉庉嬈髦械脑O(shè)置)</p><p> (2)窗體屬性設(shè)置如下表:
60、</p><p> 對(duì)該窗體編寫以下代碼,實(shí)現(xiàn)界面的功能:</p><p> Private Sub Command1_Click() '輸入密碼以后菜單按鈕變?yōu)榭捎?lt;/p><p> If Text1.Text = "ljj" And Text2.Text = "123" Then</p>&
61、lt;p> dzxx.Enabled = True</p><p> tsxx.Enabled = True</p><p> tsjy.Enabled = True</p><p> tsgh.Enabled = True</p><p> tsfk.Enabled = True</p><p>&l
62、t;b> End If</b></p><p> Command1.Visible = False</p><p> Command2.Visible = False</p><p> Text1.Visible = False</p><p> Text2.Visible = False</p>&
63、lt;p> Label2.Visible = False</p><p> Label3.Visible = False</p><p> Label4.Visible = False</p><p><b> End Sub</b></p><p> Private Sub Command2_Click
64、()</p><p><b> End</b></p><p><b> End Sub</b></p><p> Private Sub dzxx_Click() ‘打開讀者信息窗口</p><p> dzxxgl.Show</p><p><b>
65、End Sub</b></p><p> Private Sub gly_Click()</p><p> MsgBox "請(qǐng)用初始的用戶和密碼登陸系統(tǒng)!"</p><p><b> End Sub</b></p><p> Private Sub tc_Click()</p
66、><p><b> End</b></p><p><b> End Sub</b></p><p> Private Sub Timer1_Timer()</p><p> Label1.ForeColor = vbRed</p><p> Label1.Captio
67、n = Time</p><p> Label2.ForeColor = vbBlue</p><p> Label3.ForeColor = vbBlue</p><p> Label4.ForeColor = vbBlue</p><p> Label5.ForeColor = vbPurple</p><p&
68、gt;<b> End Sub</b></p><p> Private Sub tsfk_Click()</p><p> tsfkgl.Show</p><p><b> End Sub</b></p><p> Private Sub tsgh_Click()</p>
69、<p> tsghgl.Show</p><p><b> End Sub</b></p><p> Private Sub tsjy_Click()</p><p> tsjygl.Show</p><p><b> End Sub</b></p><p&g
70、t; Private Sub tsxx_Click()</p><p> tsxxgl.Show</p><p><b> End Sub</b></p><p><b> 創(chuàng)建數(shù)據(jù)訪問功能:</b></p><p> 該功能用于實(shí)現(xiàn)VB與SQL數(shù)據(jù)庫之間的通信。</p>&
71、lt;p> 打開控制面版------管理工具------數(shù)據(jù)源 (ODBC) 如圖 </p><p> 打開數(shù)據(jù)源 (ODBC) ,點(diǎn)“添加”;如圖</p><p> 如圖 ,選擇“SQL SERVER” 點(diǎn)“完成”。</p><p> 如圖,其中服務(wù)器用“.”,表示當(dāng)前服務(wù)器。然后“下一步”。</p><p> 再“下一
72、步”,如圖,更改默認(rèn)數(shù)據(jù)庫為剛才添加的“l(fā)ibrarybook”,然后“下一步”。</p><p> 點(diǎn)“完成”,如圖?!皽y(cè)試數(shù)據(jù)源”</p><p> 到這里數(shù)據(jù)連接的接口已經(jīng)打開。</p><p> 二、實(shí)現(xiàn)VB和數(shù)據(jù)庫之間的通信</p><p> 1、打開VB,添加“VB 數(shù)據(jù)庫窗體向?qū)А保鐖D“下一步”。</p>
73、<p> 選Remode(ODBC) ,”下一步” 如圖,</p><p> 在DNS中下拉選擇剛才創(chuàng)建的librarybook 數(shù)據(jù)源,“下一步“</p><p> 4、如圖,窗體布局選“網(wǎng)格(數(shù)據(jù)表)”,綁定類型選“ADO 數(shù)據(jù)控件”,“下一步“,</p><p> 5、如圖,記錄源下拉中選“讀者信息“,把所有”可用字段“添加到”選定字段“
74、下一步”</p><p> 6、如圖全部清除“可用控件”,“完成”。</p><p> 7、在VB菜單中“工程-----部件”,彈出窗口中下拉選擇Microsoft windows common controlrs 6.0,</p><p> Microsoft ADO Data Control 6.0 (OLEDB),和Microsoft DataGrid
75、Control 6.0 (OLEDB)等3個(gè)組鍵,如圖</p><p> 確定之后VB工具欄中多出了幾個(gè)控件,如圖。</p><p> 到這里VB已經(jīng)連接到了SQL數(shù)據(jù)庫的數(shù)據(jù)源。</p><p> 實(shí)現(xiàn)讀者檔案管理功能</p><p> ***注***(在此只具體介紹一個(gè)窗體,其他窗體的設(shè)置基本相同,詳細(xì)請(qǐng)看源代碼)</p&g
76、t;<p> 新建一個(gè)窗體,名字為dzxxgl </p><p> 各主要控件的屬性設(shè)置為:</p><p> 其它控件的具體擺設(shè)和屬性設(shè)置見圖和源代碼。</p><p> **附Adodc1 控件的具體設(shè)置:</p><p> 右件單擊ADODC1控件,選ADODC屬性,如圖,“點(diǎn)連接字符串”,“生成”</p
77、><p> 如圖,“使用數(shù)據(jù)源名稱”下拉選“l(fā)ibrarybook”,測(cè)試連接。</p><p> 點(diǎn)“確定”,回到屬性頁,選擇數(shù)據(jù)源,出現(xiàn)如圖,設(shè)置如圖所示:命令文本“select * from 讀者信息 ”</p><p> 確定。把DataGrid 控件的 datasource 屬性設(shè)置為 Adodc1</p><p> 運(yùn)行后控
78、件DataGrid 就會(huì)顯示出數(shù)據(jù)庫中“讀者信息”的數(shù)據(jù)記錄了,如圖</p><p> 到此,VB已成功的讀取了SQL數(shù)據(jù)庫中的數(shù)據(jù)!</p><p> (3)為窗體dzxxgl添加如下代碼:</p><p><b> 代碼:</b></p><p> '調(diào)用函數(shù)FindFirst和FindNext從第一
79、條開始向下搜索,并把搜索到符合條件的數(shù)據(jù)寫到列表框中</p><p> Private Sub Command1_Click()</p><p> criteria = Combo1 & " like" & " '%" & Text1.Text & "%'"</p>
80、<p> ret = FindFirst(Adodc1.Recordset, criteria)</p><p><b> While ret</b></p><p> List1.AddItem Adodc1.Recordset("編號(hào)") & "," & Adodc1.Recordset(&
81、quot;姓名") & " ," & Adodc1.Recordset("性別") & " ," & Adodc1.Recordset("類型") & " ," & Adodc1.Recordset("出生日期") & "
82、," & Adodc1.Recordset("有效證件") & " ," & Adodc1.Recordset("證件號(hào)碼") & " ," & Adodc1.Recordset("聯(lián)系方式") & " ," & Adodc1.Recordset
83、("登記日期")</p><p> ret = FindNext(Adodc1.Recordset, criteria)</p><p><b> Wend</b></p><p><b> End Sub</b></p><p> '窗體激活后組合框1裝入所有字
84、段</p><p> Private Sub Form_Activate()</p><p> Combo1.Clear</p><p> For i = 0 To Adodc1.Recordset.Fields.Count - 1</p><p> Combo1.AddItem Adodc1.Recordset.Fields(i).
85、Name</p><p> Combo1.ListIndex = 0</p><p><b> Next</b></p><p> Combo2.AddItem "男"</p><p> Combo2.AddItem "女"</p><p> Li
86、st1.AddItem " 編號(hào) 姓名 性別 類型 出生日期 有效證件 證件號(hào)碼 聯(lián)系方式 登記日期"</p><p><b> End Sub</b></p><p> Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)</p>
87、<p> If StrComp(Button.Key, "btnFirst") = 0 Then</p><p> Adodc1.Recordset.MoveFirst '首記錄</p><p> ElseIf StrComp(Button.Key, "btnBefore") = 0 Then</p>&l
88、t;p> Adodc1.Recordset.MovePrevious '上一條記錄</p><p> If Adodc1.Recordset.BOF = True Then '當(dāng)超過文件開頭時(shí),光標(biāo)自動(dòng)移動(dòng)到第一條</p><p><b> Beep</b></p><p> MsgBox ("當(dāng)前記錄
89、已是第一條!")</p><p> Adodc1.Recordset.MoveFirst</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnNext") = 0 Then</p><p> Adodc1.R
90、ecordset.MoveNext '下一條記錄</p><p> If Adodc1.Recordset.EOF = True Then '當(dāng)超過文件結(jié)尾時(shí),光標(biāo)自動(dòng)移動(dòng)到最后一條</p><p><b> Beep</b></p><p> MsgBox ("當(dāng)前記錄已是最后一條!")</
91、p><p> Adodc1.Recordset.MoveLast</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnLast") = 0 Then</p><p> Adodc1.Recordset.MoveLast
92、'最后一條記錄</p><p> ElseIf StrComp(Button.Key, "btnNew") = 0 Then '按下新增按鈕</p><p> Text2.Enabled = True</p><p> Text3.Enabled = True</p><p> Text4.En
93、abled = True</p><p> Text5.Enabled = True</p><p> Text6.Enabled = True</p><p> Text7.Enabled = True</p><p> Text8.Enabled = True</p><p> Text9.Enabled
94、 = True</p><p> Text2.SetFocus</p><p> Toolbar1.Buttons("btnModify").Enabled = True '提交按鈕變?yōu)榭捎?lt;/p><p> ElseIf StrComp(Button.Key, "btnModify") = 0 Then
95、39;按下提交按鈕</p><p> If MsgBox("確認(rèn)增加新的數(shù)據(jù)嗎?", vbYesNo) = vbYes Then</p><p> Adodc1.Recordset.AddNew '增加新的數(shù)據(jù)</p><p> Adodc1.Recordset("編號(hào)") = Text2.Text</p
96、><p> Adodc1.Recordset("姓名") = Text3.Text</p><p> Adodc1.Recordset("性別") = Combo2.Text</p><p> Adodc1.Recordset("類型") = Text4.Text</p><p>
97、 Adodc1.Recordset("出生日期") = Text5.Text</p><p> Adodc1.Recordset("有效證件") = Text6.Text</p><p> Adodc1.Recordset("證件號(hào)碼") = Text7.Text</p><p> Adodc1.R
98、ecordset("聯(lián)系方式") = Text8.Text</p><p> Adodc1.Recordset("登記日期") = Text9.Text</p><p><b> End If</b></p><p> Adodc1.Recordset.Update '光標(biāo)移動(dòng)到新增加的
99、數(shù)據(jù)上</p><p> '數(shù)據(jù)提交后清空文本框</p><p> Text2.Text = ""</p><p> Text3.Text = ""</p><p> Text4.Text = ""</p><p> Text5.Text =
100、 ""</p><p> Text6.Text = ""</p><p> Text7.Text = ""</p><p> Text8.Text = ""</p><p> Text9.Text = ""</p><
101、;p> '設(shè)置數(shù)據(jù)提交后文本框不可用</p><p> Text2.Enabled = False</p><p> Text3.Enabled = False</p><p> Text4.Enabled = False</p><p> Text5.Enabled = False</p><p&
102、gt; Text6.Enabled = False</p><p> Text7.Enabled = False</p><p> Text8.Enabled = False</p><p> Text9.Enabled = False</p><p> Toolbar1.Buttons("btnModify")
103、.Enabled = False '提交按鈕變?yōu)椴豢捎?lt;/p><p> ElseIf StrComp(Button.Key, "btnDelete") = 0 Then '按下刪除按鈕</p><p> If MsgBox("數(shù)據(jù)刪除后不可恢復(fù),確定要?jiǎng)h除嗎?", vbYesNo) = vbYes Then</p>
104、<p> Adodc1.Recordset.Delete</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnExit") = 0 Then '返回主頁面</p><p><b> Hide</b>
105、;</p><p><b> End If</b></p><p><b> End Sub</b></p><p> '定義從首記錄開始向下搜索的函數(shù)FindFirst</p><p> Function FindFirst(rs As ADODB.Recordset, ByVal
106、 criteria As String)</p><p> On Error Resume Next</p><p> rs.MoveFirst</p><p> rs.Find criteria</p><p> FindFirst = Not rs.EOF And Err.Number = 0</p><p&g
107、t; End Function</p><p> '定義從下一條記錄開始查詢的函數(shù)FindNext</p><p> Function FindNext(rs As ADODB.Recordset, ByVal criteria As String)</p><p> On Error Resume Next</p><p>
108、 rs.Find criteria, 1</p><p> FindNext = Not rs.EOF And Err.Number = 0</p><p> End Function</p><p> 讀者檔案管理功能模塊已經(jīng)完成!</p><p> 建立圖書信息管理模塊</p><p> 新建一個(gè)窗體,
109、命名為tsxxgl,名稱為“圖書信息”,各控件的屬性和設(shè)置與“讀者檔案管理功能模塊”相似。為該窗體編寫如下代碼:</p><p> '調(diào)用函數(shù)FindFirst和FindNext從第一條開始向下搜索,并把搜索到符合條件的數(shù)據(jù)寫到列表框中</p><p> Private Sub Command1_Click()</p><p> criteria =
110、Combo1 & " like" & " '%" & Text1.Text & "%'"</p><p> ret = FindFirst(Adodc1.Recordset, criteria)</p><p><b> While ret</b></
111、p><p> List1.AddItem Adodc1.Recordset("編號(hào)") & "," & Adodc1.Recordset("書名") & " ," & Adodc1.Recordset("作者") & " ," & Ad
112、odc1.Recordset("出版社") & " ," & Adodc1.Recordset("價(jià)格") & " ," & Adodc1.Recordset("現(xiàn)存量")</p><p> ret = FindNext(Adodc1.Recordset, criteria)
113、</p><p><b> Wend</b></p><p><b> End Sub</b></p><p> ‘'窗體激活后組合框1裝入所有字段</p><p> Private Sub Form_Activate()</p><p> Combo1.C
114、lear</p><p> For i = 0 To Adodc1.Recordset.Fields.Count - 1</p><p> Combo1.AddItem Adodc1.Recordset.Fields(i).Name</p><p> Combo1.ListIndex = 0</p><p><b> Nex
115、t</b></p><p> List1.AddItem "編號(hào) 書名 作者 出版社 價(jià)格 現(xiàn)存量"</p><p><b> End Sub</b></p><p> Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Bu
116、tton)</p><p> If StrComp(Button.Key, "btnFirst") = 0 Then</p><p> Adodc1.Recordset.MoveFirst '首記錄</p><p> ElseIf StrComp(Button.Key, "btnBefore") = 0 The
117、n</p><p> Adodc1.Recordset.MovePrevious '上一條記錄</p><p> If Adodc1.Recordset.BOF = True Then '當(dāng)超過文件開頭時(shí),光標(biāo)自動(dòng)移動(dòng)到第一條</p><p><b> Beep</b></p><p> Msg
118、Box ("當(dāng)前記錄已是第一條!")</p><p> Adodc1.Recordset.MoveFirst</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnNext") = 0 Then</p><
119、p> Adodc1.Recordset.MoveNext '下一條記錄</p><p> If Adodc1.Recordset.EOF = True Then '當(dāng)超過文件結(jié)尾時(shí),光標(biāo)自動(dòng)移動(dòng)到最后一條</p><p><b> Beep</b></p><p> MsgBox ("當(dāng)前記錄已是最后
120、一條!")</p><p> Adodc1.Recordset.MoveLast</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnLast") = 0 Then</p><p> Adodc1.Recor
121、dset.MoveLast '最后一條記錄</p><p> ElseIf StrComp(Button.Key, "btnNew") = 0 Then '按下新增按鈕</p><p> Text2.Enabled = True</p><p> Text3.Enabled = True</p><
122、p> Text4.Enabled = True</p><p> Text5.Enabled = True</p><p> Text6.Enabled = True</p><p> Text7.Enabled = True</p><p> Text2.SetFocus</p><p> Tool
123、bar1.Buttons("btnModify").Enabled = True '提交按鈕變?yōu)榭捎?lt;/p><p> ElseIf StrComp(Button.Key, "btnModify") = 0 Then '按下提交按鈕</p><p> If MsgBox("確認(rèn)增加新的數(shù)據(jù)嗎?", vbYes
124、No) = vbYes Then</p><p> Adodc1.Recordset.AddNew '增加新的數(shù)據(jù)</p><p> Adodc1.Recordset("編號(hào)") = Text2.Text</p><p> Adodc1.Recordset("書名") = Text3.Text</p>
125、;<p> Adodc1.Recordset("作者") = Text4.Text</p><p> Adodc1.Recordset("出版社") = Text5.Text</p><p> Adodc1.Recordset("價(jià)格") = Text6.Text</p><p> A
126、dodc1.Recordset("現(xiàn)存量") = Text7.Text</p><p><b> End If</b></p><p> Adodc1.Recordset.Update '光標(biāo)移動(dòng)到新增加的數(shù)據(jù)上</p><p> '數(shù)據(jù)提交后清空文本框</p><p>
127、Text2.Text = ""</p><p> Text3.Text = ""</p><p> Text4.Text = ""</p><p> Text5.Text = ""</p><p> Text6.Text = ""<
128、;/p><p> Text7.Text = ""</p><p> '設(shè)置數(shù)據(jù)提交后文本框不可用</p><p> Text2.Enabled = False</p><p> Text3.Enabled = False</p><p> Text4.Enabled = False&l
129、t;/p><p> Text5.Enabled = False</p><p> Text6.Enabled = False</p><p> Text7.Enabled = False</p><p> Toolbar1.Buttons("btnModify").Enabled = False '提交按鈕變?yōu)?/p>
130、不可用</p><p> ElseIf StrComp(Button.Key, "btnDelete") = 0 Then '按下刪除按鈕</p><p> If MsgBox("數(shù)據(jù)刪除后不可恢復(fù),確定要?jiǎng)h除嗎?", vbYesNo) = vbYes Then</p><p> Adodc1.Recordse
131、t.Delete</p><p><b> End If</b></p><p> ElseIf StrComp(Button.Key, "btnExit") = 0 Then '返回主頁面</p><p><b> Hide</b></p><p><b&
132、gt; End If</b></p><p><b> End Sub</b></p><p> '定義從首記錄開始向下搜索的函數(shù)FindFirst</p><p> Function FindFirst(rs As ADODB.Recordset, ByVal criteria As String)</p&g
133、t;<p> On Error Resume Next</p><p> rs.MoveFirst</p><p> rs.Find criteria</p><p> FindFirst = Not rs.EOF And Err.Number = 0</p><p> End Function</p>
134、<p> '定義從下一條記錄開始查詢的函數(shù)FindNext</p><p> Function FindNext(rs As ADODB.Recordset, ByVal criteria As String)</p><p> On Error Resume Next</p><p> rs.Find criteria, 1</p&
135、gt;<p> FindNext = Not rs.EOF And Err.Number = 0</p><p> End Function</p><p> 圖書信息管理功能模塊已經(jīng)完成</p><p> 建立圖書借閱信息管理模塊</p><p> 新建一個(gè)窗體,命名為tsjygl,名稱為“圖書借閱信息”,各控件的屬
136、性和設(shè)置與“讀者檔案管理功能模塊”相似。為該窗體編寫如下代碼:</p><p> '調(diào)用函數(shù)FindFirst和FindNext從第一條開始向下搜索,并把搜索到符合條件的數(shù)據(jù)寫到列表框中</p><p> Private Sub Command1_Click()</p><p> criteria = Combo1 & " like&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)(圖書館管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計(jì)-圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 圖書館管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書館管理系統(tǒng)數(shù)據(jù)庫
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告——圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告——圖書館管理系統(tǒng)
- java數(shù)據(jù)庫課程設(shè)計(jì) 圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書館管理系統(tǒng) (2)
- 數(shù)據(jù)庫原理課程設(shè)計(jì)--圖書館管理系統(tǒng)
- java數(shù)據(jù)庫課程設(shè)計(jì)---圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)-高校圖書館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--圖書館圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)-圖書館借閱系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書館圖書借閱管理信息系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 圖書館系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論