版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 標(biāo) 題: 計(jì)算機(jī)圖書(shū)管理系統(tǒng) </p><p><b> 提 綱</b></p><p><b> 一、數(shù)據(jù)庫(kù)設(shè)計(jì) </b></p><p> ?。ㄒ唬?數(shù)據(jù)庫(kù)概念 </p><p> (二)計(jì)算機(jī)圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)</p>&l
2、t;p> (三) 利用data 控件訪問(wèn)數(shù)據(jù)庫(kù) </p><p> 二、計(jì)算機(jī)圖書(shū)管理系統(tǒng)數(shù)據(jù) </p><p> ?。ㄒ唬?數(shù)據(jù)庫(kù)與VB的連接 </p><p> ?。ǘ?關(guān)閉數(shù)據(jù)對(duì)象和連接對(duì)象</p><p> ?。ㄈ?顯示數(shù)據(jù)庫(kù)的內(nèi)容 </p><p> ?。ㄋ模?計(jì)算機(jī)圖書(shū)管理系統(tǒng)數(shù)據(jù)流程圖 &l
3、t;/p><p> 三 、計(jì)算機(jī)圖書(shū)管理系統(tǒng)2008 </p><p> ?。ㄒ唬?開(kāi)發(fā)計(jì)算機(jī)圖書(shū)管理系統(tǒng)的目的 </p><p> ?。ǘ?開(kāi)發(fā)圖書(shū)管理系統(tǒng)的思路 </p><p> 四、計(jì)算機(jī)圖書(shū)管理系統(tǒng)模塊設(shè)計(jì) </p><p> ?。ㄒ唬?界面設(shè)計(jì)規(guī)范及流程圖</p><p> ?。?/p>
4、二) 系統(tǒng)窗體匯總 </p><p> (三) 主頁(yè)面設(shè)計(jì)</p><p> 五、軟件測(cè)試分析報(bào)告 </p><p> ?。ㄒ唬?軟件信息 </p><p> ?。ǘ?常見(jiàn)系統(tǒng)出錯(cuò)問(wèn)題及解決</p><p><b> 六、 結(jié)束語(yǔ) </b></p><p>
5、<b> 計(jì)算機(jī)圖書(shū)管理系統(tǒng)</b></p><p> 【摘要】圖書(shū)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。經(jīng)過(guò)分析,使用 Microsoft公司的 Visual Basic6.0為開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮目梢暬_(kāi)發(fā)平臺(tái)作為開(kāi)發(fā)工具,采用面向?qū)ο蠹夹g(shù),圖形化的應(yīng)用開(kāi)發(fā)環(huán)境,尤其是它有一個(gè)功能極其強(qiáng)大的集成環(huán)境
6、提供級(jí)開(kāi)發(fā)人員,使得開(kāi)發(fā)人員可通過(guò)菜單、界面、圖形瀏覽工具、對(duì)話框以及嵌入的各種生成器來(lái)輕松地完成各種復(fù)雜的操作。開(kāi)發(fā)過(guò)程中不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。本案例開(kāi)發(fā)的是“計(jì)算機(jī)圖書(shū)管理系統(tǒng)”.</p><p> 關(guān)鍵字(Keywords):信息管理系統(tǒng)(MIS)、數(shù)據(jù)庫(kù)、Visual Basic6.0、、面向?qū)ο螅∣bject)、計(jì)算機(jī)圖書(shū)管理系統(tǒng)</p><p> 圖書(shū)
7、館管理系統(tǒng)是我國(guó)大部分院?;蚱渌块T(mén)不可缺少的部分,書(shū)籍是人類(lèi)精神食糧,尤其對(duì)一些學(xué)校,圖書(shū)館來(lái)說(shuō),非常重要。在軟件開(kāi)發(fā)中,以計(jì)算機(jī)圖書(shū)為主,稱“計(jì)算機(jī)圖書(shū)管理系統(tǒng)”。 計(jì)算機(jī)圖書(shū)管理系統(tǒng)能夠?yàn)橛脩魧?shí)現(xiàn)借閱圖書(shū)、管理等,隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書(shū)資源信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如
8、:查閱迅速、安全性高、可靠性高、存儲(chǔ)量大、保密性好、成本低等。計(jì)算機(jī)圖書(shū)管理系統(tǒng)能夠單一定向計(jì)算機(jī)圖書(shū)方面,具有實(shí)用,精簡(jiǎn)功能等效率,這些優(yōu)點(diǎn)能夠極大地提高圖書(shū)館管理的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開(kāi)發(fā)這樣一套管理軟件是很有必要. 本案例開(kāi)發(fā)的是“計(jì)算機(jī)圖書(shū)管理系統(tǒng)”.</p><p> 一、 數(shù)據(jù)庫(kù)設(shè)計(jì)( mdb )</p><p><b&
9、gt; (一) 數(shù)據(jù)的概念</b></p><p> 辦公軟件Office套件中,最為廣大用戶熟悉的是Word和Excel,因?yàn)樗鼈児δ軓?qiáng)大且方便易用,更因?yàn)樗鼈儾粌H可用于辦公,還可用于個(gè)人寫(xiě)作和家庭記帳理財(cái)?shù)?。同為Office套件中一部分的Access,雖然有著同樣強(qiáng)大的功能,但使用的人卻相對(duì)少些,不像Word和Excel那樣廣泛。事實(shí)上,真正用過(guò)Access的用戶,對(duì)其強(qiáng)大功能和靈活應(yīng)用均稱贊
10、有加。 Access 數(shù)據(jù)庫(kù)管理系統(tǒng)是Microsoft Office 套件的重要組成部分,適用于小型商務(wù)活動(dòng),用以存貯和管理商務(wù)活動(dòng)所需要的數(shù)據(jù)。Access不僅是一個(gè)數(shù)據(jù)庫(kù),而且它具有強(qiáng)大的數(shù)據(jù)管理功能,它可以方便地利用各種數(shù)據(jù)源,生成窗體(表單),查詢,報(bào)表和應(yīng)用程序等。 有結(jié)構(gòu)的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無(wú)結(jié)構(gòu)的)是一串文字或數(shù)字流。數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以是文字、圖象、聲音等。 Access一種關(guān)系
11、式數(shù)據(jù)庫(kù),關(guān)系式數(shù)據(jù)庫(kù)由一系列表組成,表又由一系列行和列組成,每一行是一個(gè)記錄,每一列是一個(gè)字段,每個(gè)字段有一個(gè)字段名,字段名在一個(gè)表中不能重復(fù)。圖1是一個(gè)“產(chǎn)品”表的例子。“產(chǎn)品”表由10個(gè)記錄組成,一個(gè)記錄占一</p><p> 表是數(shù)據(jù)庫(kù)的基本對(duì)象,是創(chuàng)建其他5種對(duì)象的基礎(chǔ)。表由記錄組成,記錄由字段組成,表用來(lái)存貯數(shù)據(jù)庫(kù)的數(shù)據(jù),故又稱數(shù)據(jù)表。 </p><p> 2. 數(shù)據(jù)查詢
12、(Query)</p><p> 查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個(gè)表的字段組成新表。 </p><p> 3. 數(shù)據(jù)窗體(Form)</p><p> 窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關(guān)聯(lián)的表的內(nèi)容。窗體也稱表單。 </p><p> 數(shù)據(jù)報(bào)表(Report)&l
13、t;/p><p> 報(bào)表的功能是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)分類(lèi)匯總,然后打印出來(lái),以便分析。</p><p> 5. 數(shù)據(jù)宏(Macro)</p><p> 宏相當(dāng)于DOS中的批處理,用來(lái)自動(dòng)執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來(lái)十分方便。 </p><p> 6. 數(shù)據(jù)模塊(Module)</p>
14、<p> 模塊的功能與宏類(lèi)似,但它定義的操作比宏更精細(xì)和復(fù)雜,用戶可以根據(jù)自己的需要編寫(xiě)程序。模塊使用Visual Basic編程</p><p> ?。ǘ┯?jì)算機(jī)管圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)</p><p> 計(jì)算機(jī)管理系統(tǒng)圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)模式定義了數(shù)據(jù)庫(kù)的結(jié)構(gòu)、表、關(guān)系、域和業(yè)務(wù)規(guī)則。 數(shù)據(jù)庫(kù)模式是一種設(shè)計(jì),數(shù)據(jù)庫(kù)和應(yīng)用正是建立在此基礎(chǔ)上的。域是一列可能擁有的值的集合。必須為
15、每一個(gè)表的每一列確定域。除了數(shù)據(jù)的物理必填字段外,還需要確定是否有些域?qū)Ρ韥?lái)說(shuō)是唯一的。</p><p> 計(jì)算機(jī)管理系統(tǒng)圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)模式的最后一個(gè)要素是業(yè)務(wù)規(guī)則,它是對(duì)需要反映在數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)應(yīng)用程序中的業(yè)務(wù)活動(dòng)的允許空字符串。業(yè)務(wù)規(guī)則是模式的一個(gè)重要部分,因?yàn)樗麄冎付藷o(wú)論什么數(shù)據(jù)變化到達(dá)DBMS引擎,允許的數(shù)據(jù)值必須滿足的允許空字符串。不管無(wú)效的數(shù)據(jù)變化請(qǐng)求是來(lái)自窗體的用戶、查詢/修改請(qǐng)求還是應(yīng)用程
16、序DBMS都應(yīng)該拒絕。遺憾的是,不同的DBMS產(chǎn)品用不同的方法實(shí)施業(yè)務(wù)規(guī)則。在某些情況下,DBMS產(chǎn)品不具備實(shí)施必要業(yè)務(wù)規(guī)則的能力,必須以代碼形式把它們編入應(yīng)用程序</p><p> ?。ㄈ├肈ATA控件訪問(wèn)數(shù)據(jù)庫(kù)</p><p> 該軟件是利用ACCESS數(shù)據(jù)庫(kù),操作方便,簡(jiǎn)單。在ACCESS數(shù)據(jù)庫(kù)中不需要?jiǎng)?chuàng)建數(shù)據(jù)連接,因?yàn)樗荲B中默認(rèn)的數(shù)據(jù)庫(kù)形式。這里的數(shù)據(jù)庫(kù)采用Access,
17、用ADO作為連接數(shù)據(jù)對(duì)象。</p><p><b> 以歸納為以下幾步:</b></p><p> 1. 建立Access 數(shù)據(jù)庫(kù)</p><p> 啟動(dòng)Access,建立一個(gè)空的數(shù)據(jù)庫(kù)ComputerBookmanage,如圖8所示。</p><p> 使用程序設(shè)計(jì)器建立系統(tǒng)需要的表</p>&l
18、t;p><b> 圖書(shū)表:</b></p><p><b> 讀者表</b></p><p><b> 用戶</b></p><p><b> 借書(shū)表:</b></p><p><b> 用戶表:</b></p&
19、gt;<p><b> 2、連接數(shù)據(jù)</b></p><p> 在Visual Basic環(huán)境下,選擇“工程”→“引用”命令,在隨后出現(xiàn)的對(duì)話框中選擇“Microsoft ActiveX Data Objects 2.0 Library”,然后單擊“確定”按鈕,如圖:</p><p> 3.0引用ADO連接數(shù)據(jù)庫(kù)在程序設(shè)計(jì)的公共模塊中,先定義AD
20、O連接對(duì)象。語(yǔ)句如下:Public conn As New ADODB.Connection ' 標(biāo)記連接對(duì)象然后在子程序中,用如下的語(yǔ)句即可打開(kāi)數(shù)據(jù)庫(kù):Dim connectionstring As Stringconnectionstring = "provider=Microsoft.Jet.oledb.4.0;" &_"data source= ComputerBookman
21、age .mdb"conn.Open connectionstring</p><p> 4.0 設(shè)置ODBC</p><p> VB的ADO對(duì)象是通過(guò)ODBC來(lái)訪問(wèn)數(shù)據(jù)庫(kù),所以還要建立ODBC數(shù)據(jù)引擎接口。打開(kāi)</p><p> 控制面板中的“管理工具”→“數(shù)據(jù)源”(ODBC),出現(xiàn)如圖所示的對(duì)話框。</p><p>
22、圖17 ODBC對(duì)話框</p><p> 單擊“添加”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對(duì)話框,如圖18所示。</p><p> 5.0創(chuàng)建新數(shù)據(jù)源”對(duì)話框選擇Microsoft Access Driver(*.mdb),單擊“完成”按鈕,出現(xiàn)如圖19所示對(duì)話框。</p><p> 設(shè)置連接數(shù)據(jù)源 在“數(shù)據(jù)源名”文本框中添加一個(gè)名字,單擊“確定”按鈕完成
23、系統(tǒng)默認(rèn)連接設(shè)置。然后在ODBC對(duì)話框中單擊“確定”按鈕完成ODBC設(shè)置。</p><p> ?。ㄋ模㎝DB數(shù)據(jù)流程圖以及數(shù)據(jù)表</p><p> 1.基本表:[書(shū)籍 ] book</p><p> 2.基本表:[用戶表 ] user_table</p><p> 3.基本表:[讀者表]</p><p> 4
24、.基本表:[職工信息] worker</p><p> 5.基本表:[借閱信息] reader</p><p> ADO中的數(shù)據(jù)對(duì)象通常保存的是查詢結(jié)果。Record Set是ADO中最復(fù)雜的對(duì)象,有許多屬性和方法。Record Set保存的是一行行的記錄,并標(biāo)有一個(gè)當(dāng)前記錄。以下是創(chuàng)建方法:</p><p> 可以直接利用DATA控件直接綁定,在DATA控件
25、的屬性中的RECORDSOURCE對(duì)數(shù)據(jù)表進(jìn)行連接。</p><p> Set Record Set=DB.Openrecordset(sqtStr)</p><p> 這條語(yǔ)句創(chuàng)建并打開(kāi)了對(duì)象Record Set,其中db是先前創(chuàng)建的鏈接對(duì)象,sqtStr是一個(gè)字串,代表一條標(biāo)準(zhǔn)的SQL語(yǔ)句。例如: sqlStr=“SELECT * FROM table1”Set Record Se
26、t=DB.Openrecordset(sqtStr),執(zhí)行后,對(duì)象Record Set中就保存了表table1中的所有記錄。</p><p> 二、 計(jì)算機(jī)圖書(shū)管理系統(tǒng)數(shù)據(jù)</p><p> (一) 數(shù)據(jù)庫(kù)與VB的連接</p><p> 當(dāng)數(shù)據(jù)設(shè)置好后就應(yīng)用VB當(dāng)中去,步驟:新建一個(gè)模塊命名“ Database “在Database </p>&
27、lt;p> 添加代碼, 數(shù)據(jù)庫(kù)與VB的連接代碼(由于代碼很長(zhǎng)見(jiàn)光盤(pán)code目錄下 “ database.txt”)</p><p> ?。ǘ╆P(guān)閉數(shù)據(jù)對(duì)象和鏈接對(duì)象</p><p> 在使用了ADO對(duì)象之后要關(guān)閉它,因?yàn)樗褂昧艘欢ǖ姆?wù)器資源。通過(guò)調(diào)用方法close實(shí)現(xiàn)關(guān)閉,然后再釋放它。</p><p> Record Set.close</p
28、><p> Set Record Set=Nothing</p><p> /關(guān)閉創(chuàng)建的數(shù)據(jù)對(duì)象</p><p> mConn.close</p><p> Set mConn=Nothing</p><p> /關(guān)閉創(chuàng)建的鏈接對(duì)象</p><p> ?。ㄈ╋@示數(shù)據(jù)庫(kù)中的內(nèi)容</p
29、><p> 利用MSFLEGRID控件來(lái)顯示數(shù)據(jù)庫(kù)中的內(nèi)容,可以直接通過(guò)DATA控件來(lái)實(shí)現(xiàn)操作,也可以利用代碼來(lái)完成相關(guān)的操作。</p><p> sql = "select * from book where 圖書(shū)信息 ='" & Text1(0).Text & "'"</p><p>
30、If sql <> "" Then</p><p> Set rs = db.OpenRecordset(sql)</p><p> ?。ㄋ模┯?jì)算機(jī)圖書(shū)管理系統(tǒng)數(shù)據(jù)流程圖</p><p> 三、開(kāi)發(fā)圖書(shū)管理系統(tǒng)2008</p><p> ?。ㄒ唬╅_(kāi)發(fā)計(jì)算機(jī)圖書(shū)管理系統(tǒng)的目的</p><p
31、> 計(jì)算機(jī)圖書(shū)館管理系統(tǒng)是我國(guó)大部分院?;蚱渌块T(mén)不可缺少的部分,書(shū)籍是人類(lèi)精神食糧,尤其對(duì)一些學(xué)校,圖書(shū)館來(lái)說(shuō),非常重要。圖書(shū)館管理系統(tǒng)能夠?yàn)橛脩魧?shí)現(xiàn)借閱圖書(shū)、期刊、試卷合訂本等,隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書(shū)資源信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:查閱迅速、安全性高、可靠性高
32、、存儲(chǔ)量大、保密性好、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書(shū)館管理的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件,因此,開(kāi)發(fā)這樣一套管理軟件是很有必要。 </p><p> ?。ǘ╅_(kāi)發(fā)計(jì)算機(jī)圖書(shū)管理系統(tǒng)的思路</p><p> 單從這一方面,開(kāi)發(fā)圖書(shū)管理系統(tǒng)需要從以下幾個(gè)構(gòu)思方面著手。</p><p><b> 遐想</b>
33、;</p><p> 遐想。即大膽地思維想象,在腦海形成一個(gè)框架,怎樣去開(kāi)發(fā),如何去開(kāi)發(fā),開(kāi)發(fā)有什么好處即影響。開(kāi)發(fā)會(huì)遇到什么問(wèn)題,怎樣去解決.</p><p><b> 繪圖</b></p><p> 即將遐想的,用圖象勾畫(huà)出來(lái),呈現(xiàn)模擬系統(tǒng)的功能.</p><p><b> 3.準(zhǔn)備材料</b
34、></p><p> 準(zhǔn)備事先制作好材料。如軟件中所需要的圖片。代碼,軟件圖標(biāo)(Ico)頁(yè)面圖片(bmp,jpg).</p><p><b> 4. 開(kāi)發(fā)</b></p><p> “糧草好了,就動(dòng)兵馬” 意思是現(xiàn)實(shí)開(kāi)發(fā)系統(tǒng)(如新建窗體,模塊等).</p><p> 四、計(jì)算機(jī)圖書(shū)管理系統(tǒng)模塊設(shè)計(jì)</
35、p><p> (一)界面設(shè)計(jì)規(guī)范以及流程圖(詳細(xì)見(jiàn)頁(yè)面)</p><p> 主界面:菜單欄、工具條、工作區(qū)(本系統(tǒng)采用SSTab頁(yè)框)、狀態(tài)欄等。</p><p> ?。ǘ┫到y(tǒng)窗體匯總 </p><p> ?。ㄈ┲鞔绑w界面設(shè)計(jì) </p><p> 主界面的設(shè)計(jì)采用標(biāo)準(zhǔn)無(wú)標(biāo)題主窗口樣式,自上而下依次為:菜單欄、工具
36、條、工作區(qū)(本系統(tǒng)采用SSTab頁(yè)框)、狀態(tài)欄等。所有系統(tǒng)用戶擁有相似的主界面。主界面包含基本的或共享的功能,如書(shū)目瀏覽與檢索,基本統(tǒng)計(jì)等。代碼見(jiàn)code目錄下:main.txt</p><p><b> 主界面如代碼所示:</b></p><p> Option Explicit</p><p> '定義查詢字段的窗體級(jí)變量&l
37、t;/p><p> '定義查詢的字段窗體變量</p><p> Dim sfield As String '查詢的關(guān)鍵詞</p><p> Dim seachtext As String</p><p><b> '查詢函數(shù)定義</b></p><p>
38、 '1、桉書(shū)號(hào)查詢則采用具體查詢辦法</p><p> '2、按書(shū)名查詢則采用模糊查詢辦法</p><p> Function open_seach(table_name As String, sfield As String, seachtext As String) As Integer</p><p> Dim sqlstr As Str
39、ing</p><p> Dim str As String</p><p><b> '建立數(shù)據(jù)庫(kù)連接</b></p><p> Set con = New ADODB.Connection</p><p> Set rst = New ADODB.Recordset</p><p&
40、gt; con.CursorLocation = adUseClient</p><p> sqlstr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + App.Path + "\data\ComputerBookmanage.mdb" + ";Persist Securit
41、y Info=False"</p><p> con.Open sqlstr</p><p><b> ' 查詢辦法選擇</b></p><p> If Option1.Value = True Then</p><p> str = "select * from " &am
42、p; table_name & " where " & sfield & "='" & seachtext & "'"</p><p><b> Else</b></p><p> str = "select * from " &
43、amp; table_name & " where " & sfield & " like '" & Trim(" %" & Text1.Text & "%") & "'"</p><p><b> End If</b>
44、</p><p> If Option3.Value = True Then</p><p> str = "select * from " & table_name & " where " & sfield & "='" & seachtext & "'
45、;"</p><p><b> Else</b></p><p> str = "select * from " & table_name & " where " & sfield & " like '" & Trim(" %"
46、 & Text1.Text & "%") & "'"</p><p><b> End If</b></p><p> rst.Open str, con, adOpenDynamic, adLockOptimistic</p><p> rst.Requery<
47、;/p><p> If rst.RecordCount > 0 Then</p><p> open_seach = 1 '返回一個(gè)值1,代表有查詢結(jié)果</p><p><b> Else</b></p><p> open_seach = 0 '返回一個(gè)值0
48、,代表沒(méi)有查詢結(jié)果</p><p><b> End If</b></p><p> End Function</p><p> Private Sub Check4_Click()</p><p><b> '選擇查詢的字段</b></p><p> Se
49、lect Case TabStrip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p> sfield = "[出版社]"</p><p> End Select</p><p><b> End Sub</b></p>
50、<p> Private Sub Command1_Click()</p><p> If rst.BOF = True Then</p><p> frmMsg.Show</p><p> frmMsg.info.Visible = True</p><p> frmMsg.Text1.Text = "已經(jīng)
51、到達(dá)第一條記錄了!"</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> rst.MovePrevious</p><p><b> End If</b></p><p>&
52、lt;b> End Sub</b></p><p> Private Sub Command2_Click() '后一記錄</p><p> If rst.EOF = True Then</p><p> frmMsg.Show</p><p> frmMsg.info.Visible = True
53、</p><p> frmMsg.Text1.Text = "已經(jīng)到達(dá)最后一條記錄了!"</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> rst.MoveNext</p><p>&
54、lt;b> End If</b></p><p><b> End Sub</b></p><p> Private Sub DataGrid2_Click()</p><p> Call connect_db</p><p> open_connection ("book"
55、;) '連接book表</p><p> tablename = "book"</p><p> If privilege = 1 Then '如果只是普通用戶,無(wú)法查詢員工信息</p><p> frmMsg.Show</p><p> frm
56、Msg.error.Visible = True</p><p> frmMsg.Text1.Text = "對(duì)不起,您沒(méi)有查閱的權(quán)限!"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> open_co
57、nnection ("worker") '連接worker表</p><p> tablename = "worker"</p><p> open_connection ("record") '連接record表</p><p> tablen
58、ame = "record"</p><p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p><p> Private Sub Command4_Click()</p><p> Dim ret As Integer&l
59、t;/p><p> If Command4.Caption = "查 詢" Then</p><p> Command4.Caption = "確 定"</p><p><b> Else</b></p><p> If Option1.Value = False And
60、Option2.Value = False And Option3.Value = False And Option4.Value = False Then</p><p> frmMsg.Show</p><p> frmMsg.notice.Visible = True</p><p> frmMsg.Text1.Text = "請(qǐng)選擇查詢項(xiàng)!&
61、quot;</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Text1.Text = "" Then</p><p> frmMsg.Show</p><p> frmM
62、sg.notice.Visible = True</p><p> frmMsg.Text1.Text = "請(qǐng)輸入查詢內(nèi)容!"</p><p> Text1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b&g
63、t;</p><p> seachtext = Trim(Text1.Text)</p><p> ret = open_seach(tablename, sfield, seachtext)</p><p> If ret = 0 Then</p><p> frmMsg.Show</p><p> frm
64、Msg.error.Visible = True</p><p> frmMsg.Text1.Text = "對(duì)不起,沒(méi)有你要的記錄!"</p><p> Option1.Value = False</p><p> Option2.Value = False</p><p> Text1.Text = "
65、;"</p><p><b> rst.Close</b></p><p> Set rst = Nothing</p><p> Set DataGrid1.DataSource = rst</p><p> Command1.Enabled = False '上一條,下一
66、條按鈕為灰</p><p> Command2.Enabled = False</p><p> Command4.Caption = "查 詢"</p><p><b> Exit Sub</b></p><p><b> End If</b></p>
67、<p> Command1.Enabled = True</p><p> Command2.Enabled = True</p><p> Set DataGrid1.DataSource = rst</p><p> Text1.Text = ""</p><p> Option1.Value =
68、False</p><p> Option2.Value = False</p><p> Command4.Caption = "查 詢"</p><p><b> End If</b></p><p><b> End Sub</b></p><
69、p> Private Sub DataGrid1_Click()</p><p> Call connect_db</p><p> open_connection ("book") '連接book表</p><p> tablename = "book"</p>&
70、lt;p> If privilege = 1 Then '如果只是普通用戶,無(wú)法查詢員工信息</p><p> frmMsg.Show</p><p> frmMsg.error.Visible = True</p><p> frmMsg.Text1.Text = "對(duì)不起,您沒(méi)有查閱的權(quán)限!"
71、;</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> open_connection ("worker") '連接worker表</p><p> tablename = &qu
72、ot;worker"</p><p> open_connection ("record") '連接record表</p><p> tablename = "record"</p><p> Set DataGrid1.DataSource = rst</p>&l
73、t;p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Option1.Caption = "書(shū)號(hào)"</p><p> Option2.Caption = "書(shū)名"</p><p> Option
74、3.Caption = "出版社"</p><p> Option4.Caption = "作者"</p><p> Label2.Caption = frmLogin.Text1.Text</p><p> Timer1.Interval = 1000</p><p> tablename =
75、 "book"</p><p> Call connect_db</p><p> open_connection ("book")</p><p> Set DataGrid1.DataSource = rst</p><p> TabStrip1.Tabs.Item(1) = "圖
76、書(shū)信息瀏覽"</p><p> TabStrip1.Tabs.Item(2) = "員工信息瀏覽"</p><p> TabStrip1.Tabs.Item(3) = "圖書(shū)借閱情況瀏覽"</p><p> Text1.Text = ""</p><p> open
77、_connection ("book")</p><p> Set DataGrid1.DataSource = rst</p><p> frmLogin.Show</p><p><b> End Sub</b></p><p> Private Sub Image1_Click()<
78、;/p><p><b> End Sub</b></p><p> Private Sub Option1_Click()</p><p> Select Case TabStrip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p>
79、; sfield = "[圖書(shū)編碼]"</p><p> Case "員工信息瀏覽":</p><p> sfield = "[工號(hào)]"</p><p> Case "圖書(shū)借閱情況瀏覽":</p><p> sfield = "[圖書(shū)編碼]&q
80、uot;</p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub Option2_Click()</p><p><b> '選擇查詢的字段</b></p><p> Select
81、Case TabStrip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p> sfield = "[圖書(shū)名稱]"</p><p> Case "員工信息瀏覽":</p><p> sfield = "[姓名]"&
82、lt;/p><p> Case "圖書(shū)借閱情況瀏覽":</p><p> sfield = "[工號(hào)]"</p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub Option3
83、_Click()</p><p><b> '選擇查詢的字段</b></p><p> Select Case TabStrip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p> sfield = "[出版社]"</
84、p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub Option4_Click()</p><p><b> '選擇查詢的字段</b></p><p> Select Case TabS
85、trip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p> sfield = "[作者]"</p><p> End Select</p><p><b> End Sub</b></p><p> Pr
86、ivate Sub Text2_Change()</p><p> Text1.Text = Time</p><p><b> End Sub</b></p><p> Private Sub TabStrip1_Click()</p><p> Call connect_db</p><p
87、> Select Case TabStrip1.SelectedItem</p><p> Case "圖書(shū)信息瀏覽":</p><p> open_connection ("book") '連接book表</p><p> tablename = "book"
88、</p><p> Option1.Caption = "書(shū)號(hào)"</p><p> Option2.Caption = "書(shū)名"</p><p> Set DataGrid1.DataSource = rst</p><p> Case "員工信息瀏覽":</p>
89、<p> If privilege = 1 Then '如果只是普通用戶,無(wú)法查詢員工信息</p><p> frmMsg.Show</p><p> frmMsg.error.Visible = True</p><p> frmMsg.Text1.Text = "對(duì)不起,您沒(méi)有查閱的權(quán)限!&q
90、uot;</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> open_connection ("worker") '連接worker表</p><p> Option1.Capt
91、ion = "工號(hào)"</p><p> Option2.Caption = "姓名"</p><p> tablename = "worker"</p><p> Set DataGrid1.DataSource = rst</p><p> Case "圖書(shū)借閱情
92、況瀏覽":</p><p> open_connection ("record") '連接record表</p><p> Option1.Caption = "書(shū)號(hào)"</p><p> Option2.Caption = "工號(hào)"</p><
93、;p> tablename = "record"</p><p> Set DataGrid1.DataSource = rst</p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub Timer1_Timer
94、()</p><p> Label3.Caption = Now</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton1_Click()</p><p> Form4.Show</p><p><b> End Su
95、b</b></p><p> Private Sub xpcmdbutton12_Click()</p><p> Form6.Show</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton13_Click()</p><
96、;p> frmAbout.Show</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton14_Click()</p><p><b> Unload Me</b></p><p> frmLogin.Show</p&
97、gt;<p><b> End Sub</b></p><p> Private Sub xpcmdbutton15_Click()</p><p> open_connection "reader"</p><p> tablename = "reader"</p>
98、<p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton2_Click()</p><p> Form5.Show</p><p><b> End Sub<
99、;/b></p><p> Private Sub xpcmdbutton3_Click()</p><p> Form2.Show</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton4_Click()</p><p>
100、 Form3.Show</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton5_Click()</p><p> open_connection ("book")</p><p> tablename = "record
101、"</p><p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton6_Click()</p><p> open_connection ("record"
102、;)</p><p> tablename = "record"</p><p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p><p> Private Sub xpcmdbutton7_Click()</p&g
103、t;<p> open_connection ("worker")</p><p> tablename = "worker"</p><p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p>&l
104、t;p> Private Sub xpcmdbutton8_Click()</p><p> Frm_sys_set.Show</p><p><b> End Sub</b></p><p> Private Sub xpmin_Click()</p><p> Me.WindowState = 1&l
105、t;/p><p><b> End Sub</b></p><p> Private Sub xpclose_Click()</p><p><b> Unload Me</b></p><p> frmLogin.Show</p><p><b> End
106、Sub</b></p><p> Private Sub xptopbuttons1_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub xptopbuttons2_Cl
107、ick()</p><p> Me.WindowState = 1</p><p><b> End Sub</b></p><p><b> 用戶登陸 </b></p><p> 該窗體主要完成用戶管理登陸功能,也是進(jìn)入系統(tǒng)的一個(gè)重要的門(mén)檻,該門(mén)檻是有權(quán)限限制,根據(jù)不同的用戶帳號(hào),功能也截
108、然不同,這就是本系統(tǒng)的一個(gè)關(guān)鍵點(diǎn)。(默然讀者帳號(hào);reader 密碼;008)代碼見(jiàn)code目錄下:login.txt</p><p> Private Sub Form_Load() '連接用戶表</p><p> Call open_connection("user_table")</p><p> xp
109、cmdbutton1.Caption = "登陸"</p><p> xpcmdbutton2.Caption = "注銷(xiāo)"</p><p><b> End Sub</b></p><p> Private Sub Image1_Click()</p><p><b&
110、gt; End Sub</b></p><p> Private Sub xpcmdbutton1_Click() '登錄系統(tǒng)</p><p> Dim sql As String</p><p> If Trim(Text1.Text) = "" Then '如果文本框?yàn)榭眨瑒t給出提示&
111、lt;/p><p> frmMsg.Show</p><p> frmMsg.notice.Visible = True</p><p> frmMsg.Text1.Text = "請(qǐng)輸入用戶登錄賬號(hào)!"</p><p><b> Exit Sub</b></p><p>
112、<b> Else</b></p><p> sql = "select * from user_table where [登錄名]='" & Trim(Text1.Text) & "'" '查找用戶登錄名</p><p><b> rst.Close</b>
113、;</p><p> rst.Open sql, con, adOpenDynamic, adLockOptimistic</p><p> If rst.RecordCount <= 0 Then</p><p> frmMsg.Show</p><p> frmMsg.error.Visible = True</p&g
114、t;<p> frmMsg.Text1.Text = "用戶名不存在!"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> '用戶合法性檢測(cè)并賦予一定的權(quán)限級(jí)別</p><p>
115、If LCase(Trim(rst![登錄名])) = LCase(Trim(Text1.Text)) Then</p><p> If Trim(rst![密碼]) = Trim(Text2.Text) Then</p><p> privilege = rst![權(quán)限]</p><p> Call check_privage(privilege)
116、39;權(quán)限分配</p><p><b> Else</b></p><p> frmMsg.Show</p><p> frmMsg.error.Visible = True</p><p> frmMsg.Text1.Text = "密碼錯(cuò)誤,請(qǐng)重新輸入!"</p><p
117、><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub<
118、/b></p><p> Private Sub xpcmdbutton2_Click() '退出系統(tǒng)</p><p><b> End</b></p><p><b> End Sub</b></p><p> Private Sub xptopbuttons1_Cli
119、ck()</p><p><b> End</b></p><p><b> End Sub</b></p><p> Private Sub xptopbuttons2_Click(Index As Integer)</p><p> Me.WindowState = 1</p>
120、;<p><b> End Sub</b></p><p> 如果用戶名錯(cuò)誤或者密碼錯(cuò)誤” 友情提示”窗體就會(huì)響應(yīng),傳送信息給用戶</p><p><b> 提示1</b></p><p><b> 提示2</b></p><p><b> 2
121、.借書(shū) </b></p><p> 該窗體主要完成讀者借閱功能,也是最重要的一項(xiàng)功能,讀者借閱圖書(shū)與職工人員,管理人員才能完成借閱功能,,借閱后系統(tǒng)信息將保存,以便管理員能核對(duì)一下,以免出錯(cuò),假如你已經(jīng)超過(guò)最大的借閱量,系統(tǒng)還會(huì)自動(dòng)提醒管理員該讀者已經(jīng)不能繼續(xù)借書(shū)了。該閱子模塊簡(jiǎn)單,計(jì)算機(jī)圖書(shū)綜合信息以圖書(shū)編號(hào)歸攏在一起,方便借閱。代碼見(jiàn)code目錄下: borrow.txt</p>
122、<p><b> 窗體代碼:</b></p><p> Option Explicit</p><p> Private Sub Command1_Click() '借出圖書(shū)</p><p> Dim sql, sql1, sql2 As String</p><p>
123、; Dim num As Integer</p><p> sql = "select * from record"</p><p> sql1 = "select * from worker where [工號(hào)]=?"</p><p> sql2 = "select * from book where [圖
124、書(shū)編碼]=?"</p><p> Dim param1, param2, param3, param4 As ADODB.Parameter</p><p> Dim cmd1, cmd2, cmd3, cmd4 As ADODB.Command</p><p> Set cmd1 = New ADODB.Command</p><
125、;p> Set cmd2 = New ADODB.Command</p><p> Set cmd3 = New ADODB.Command</p><p> Set cmd4 = New ADODB.Command</p><p> Set param1 = New ADODB.Parameter</p><p> Set
126、param2 = New ADODB.Parameter</p><p> Set param3 = New ADODB.Parameter</p><p> Set param4 = New ADODB.Parameter</p><p><b> '工號(hào)及書(shū)號(hào)檢測(cè)</b></p><p> '
127、檢驗(yàn)工號(hào)及書(shū)號(hào)的合法性</p><p> With param1</p><p> .Direction = adParamInput</p><p> .Type = adBSTR</p><p><b> .Size = 8</b></p><p> .Value = Text1.T
128、ext</p><p><b> End With</b></p><p> cmd1.Parameters.Append param1</p><p> cmd1.CommandText = sql1</p><p> cmd1.CommandType = adCmdText</p><p&
129、gt; Set cmd1.ActiveConnection = con</p><p> Set rst = cmd1.Execute</p><p> If rst.RecordCount <= 0 Then</p><p> frmMsg.Show</p><p> frmMsg.notice.Visible = True
130、</p><p> frmMsg.Text1.Text = "沒(méi)有此工號(hào)!"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> With param2</p><p> .Dir
131、ection = adParamInput</p><p> .Type = adBSTR</p><p><b> .Size = 8</b></p><p> .Value = Text2.Text</p><p><b> End With</b></p><p&g
132、t; cmd2.Parameters.Append param2</p><p> cmd2.CommandText = sql2</p><p> cmd2.CommandType = adCmdText</p><p> Set cmd2.ActiveConnection = con</p><p> Set rst1 = cm
133、d2.Execute</p><p> If rst1.RecordCount <= 0 Then</p><p> frmMsg.Show</p><p> frmMsg.notice.Visible = True</p><p> frmMsg.Text1.Text = "沒(méi)有此圖書(shū)編號(hào)!"</p&
134、gt;<p><b> Exit Sub</b></p><p><b> End If</b></p><p> sql2 = "select * from record where [圖書(shū)編碼]=?"</p><p> rst1.Close</p><p&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——計(jì)算機(jī)圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文.doc
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)論文.doc
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)信息管理畢業(yè)論文---計(jì)算機(jī)圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)java畢業(yè)論文---學(xué)校圖書(shū)管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)論文--網(wǎng)上圖書(shū)管理系統(tǒng)
- (完整)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文(圖書(shū)管理系統(tǒng))[]
- (完整)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文(圖書(shū)管理系統(tǒng))[1]
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文---學(xué)校圖書(shū)管理系統(tǒng)的開(kāi)發(fā)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)論文---基于jsp的圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)-計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論