2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  計算機圖書管理系統(tǒng)</b></p><p><b>  摘要</b></p><p>  圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。經(jīng)過分析,使用 Microsoft公司的 Visual Basic6.0為開發(fā)工具,利用其提供的各種面向?qū)ο蟮目梢暬?/p>

2、開發(fā)平臺作為開發(fā)工具,采用面向?qū)ο蠹夹g(shù),圖形化的應(yīng)用開發(fā)環(huán)境,尤其是它有一個功能極其強大的集成環(huán)境提供級開發(fā)人員,使得開發(fā)人員可通過菜單、界面、圖形瀏覽工具、對話框以及嵌入的各種生成器來輕松地完成各種復(fù)雜的操作。開發(fā)過程中不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。本案例開發(fā)的是“計算機圖書管理系統(tǒng)”.</p><p>  圖書館管理系統(tǒng)是我國大部分院?;蚱渌块T不可缺少的部分,書籍是人類精神食糧,尤其對一些學校

3、,圖書館來說,非常重要。在軟件開發(fā)中,以計算機圖書為主,稱“計算機圖書管理系統(tǒng)”。 計算機圖書管理系統(tǒng)能夠為用戶實現(xiàn)借閱圖書、管理等,隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對圖書資源信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:查閱迅速、安全性高、可靠性高、存儲量大、保密性好、成本低等。計算機圖書管理系統(tǒng)能夠單

4、一定向計算機圖書方面,具有實用,精簡功能等效率,這些優(yōu)點能夠極大地提高圖書館管理的效率,也是企業(yè)、學校的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件是很有必要. </p><p>  關(guān)鍵字(Keywords):信息管理系統(tǒng)(MIS)、數(shù)據(jù)庫、Visual Basic6.0、、面向?qū)ο螅∣bject)、計算機圖書管理系統(tǒng)</p><p><b>  目

5、 錄</b></p><p><b>  一、數(shù)據(jù)庫設(shè)計 </b></p><p> ?。ㄒ唬?數(shù)據(jù)庫概念…………………………………………… 1</p><p> ?。ǘ┯嬎銠C圖書管理系統(tǒng)數(shù)據(jù)庫…………………………… 4</p><p> ?。ㄈ?利用data 控件訪問數(shù)據(jù)庫………………………

6、… 4</p><p>  二、計算機圖書管理系統(tǒng)數(shù)據(jù) </p><p> ?。ㄒ唬?數(shù)據(jù)庫與VB的連接…………………………………… .10 </p><p>  (二) 關(guān)閉數(shù)據(jù)對象和連接對象……………………………. 10</p><p> ?。ㄈ?顯示數(shù)據(jù)庫的內(nèi)容 ……………………………………. 10</p><

7、p>  (四) 計算機圖書管理系統(tǒng)數(shù)據(jù)流程圖 ……………………. 10.</p><p>  三 、計算機圖書管理系統(tǒng)2008 </p><p>  (一) 開發(fā)計算機圖書管理系統(tǒng)的目的 …………………… 12</p><p> ?。ǘ?開發(fā)圖書管理系統(tǒng)的思路 …………………………… 12</p><p>  四、計算機圖書管理系統(tǒng)模

8、塊設(shè)計 </p><p> ?。ㄒ唬?界面設(shè)計規(guī)范及流程圖……………………………….13.</p><p>  (二) 系統(tǒng)窗體匯總 ………………………………….… 13</p><p>  (三) 主頁面設(shè)計…………………………………………… 13</p><p>  五、軟件測試分析報告 </p><p> 

9、?。ㄒ唬?軟件信息 ……………………………………………….41</p><p> ?。ǘ?常見系統(tǒng)出錯問題及解決……………………………… 41.</p><p>  六、 結(jié)束語 …………………………………………………………….. 42</p><p>  一、 數(shù)據(jù)庫設(shè)計( mdb )</p><p><b> ?。ㄒ唬?數(shù)

10、據(jù)的概念</b></p><p>  辦公軟件Office套件中,最為廣大用戶熟悉的是Word和Excel,因為它們功能強大且方便易用,更因為它們不僅可用于辦公,還可用于個人寫作和家庭記帳理財?shù)?。同為Office套件中一部分的Access,雖然有著同樣強大的功能,但使用的人卻相對少些,不像Word和Excel那樣廣泛。事實上,真正用過Access的用戶,對其強大功能和靈活應(yīng)用均稱贊有加。 Access

11、 數(shù)據(jù)庫管理系統(tǒng)是Microsoft Office 套件的重要組成部分,適用于小型商務(wù)活動,用以存貯和管理商務(wù)活動所需要的數(shù)據(jù)。Access不僅是一個數(shù)據(jù)庫,而且它具有強大的數(shù)據(jù)管理功能,它可以方便地利用各種數(shù)據(jù)源,生成窗體(表單),查詢,報表和應(yīng)用程序等。 有結(jié)構(gòu)的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無結(jié)構(gòu)的)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖象、聲音等。 Access一種關(guān)系式數(shù)據(jù)庫,關(guān)系式數(shù)據(jù)

12、庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個字段有一個字段名,字段名在一個表中不能重復(fù)。圖1是一個“產(chǎn)品”表的例子?!爱a(chǎn)品”表由10個記錄組成,一個記錄占一</p><p>  表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他5種對象的基礎(chǔ)。表由記錄組成,記錄由字段組成,表用來存貯數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù)表。 </p><p>  2. 數(shù)據(jù)查詢(Query)<

13、;/p><p>  查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個表的字段組成新表。 </p><p>  3. 數(shù)據(jù)窗體(Form)</p><p>  窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關(guān)聯(lián)的表的內(nèi)容。窗體也稱表單。 </p><p>  數(shù)據(jù)報表(Report)</p>

14、<p>  報表的功能是將數(shù)據(jù)庫中的數(shù)據(jù)分類匯總,然后打印出來,以便分析。</p><p>  5. 數(shù)據(jù)宏(Macro)</p><p>  宏相當于DOS中的批處理,用來自動執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。 </p><p>  6. 數(shù)據(jù)模塊(Module)</p><p> 

15、 模塊的功能與宏類似,但它定義的操作比宏更精細和復(fù)雜,用戶可以根據(jù)自己的需要編寫程序。模塊使用Visual Basic編程</p><p> ?。ǘ┯嬎銠C管圖書管理系統(tǒng)數(shù)據(jù)庫</p><p>  計算機管理系統(tǒng)圖書管理系統(tǒng)數(shù)據(jù)庫模式定義了數(shù)據(jù)庫的結(jié)構(gòu)、表、關(guān)系、域和業(yè)務(wù)規(guī)則。 數(shù)據(jù)庫模式是一種設(shè)計,數(shù)據(jù)庫和應(yīng)用正是建立在此基礎(chǔ)上的。域是一列可能擁有的值的集合。必須為每一個表的每一列確定

16、域。除了數(shù)據(jù)的物理必填字段外,還需要確定是否有些域?qū)Ρ韥碚f是唯一的。</p><p>  計算機管理系統(tǒng)圖書管理系統(tǒng)數(shù)據(jù)庫模式的最后一個要素是業(yè)務(wù)規(guī)則,它是對需要反映在數(shù)據(jù)庫和數(shù)據(jù)庫應(yīng)用程序中的業(yè)務(wù)活動的允許空字符串。業(yè)務(wù)規(guī)則是模式的一個重要部分,因為他們指定了無論什么數(shù)據(jù)變化到達DBMS引擎,允許的數(shù)據(jù)值必須滿足的允許空字符串。不管無效的數(shù)據(jù)變化請求是來自窗體的用戶、查詢/修改請求還是應(yīng)用程序DBMS都應(yīng)該拒絕

17、。遺憾的是,不同的DBMS產(chǎn)品用不同的方法實施業(yè)務(wù)規(guī)則。在某些情況下,DBMS產(chǎn)品不具備實施必要業(yè)務(wù)規(guī)則的能力,必須以代碼形式把它們編入應(yīng)用程序</p><p> ?。ㄈ├肈ATA控件訪問數(shù)據(jù)庫</p><p>  該軟件是利用ACCESS數(shù)據(jù)庫,操作方便,簡單。在ACCESS數(shù)據(jù)庫中不需要創(chuàng)建數(shù)據(jù)連接,因為它是VB中默認的數(shù)據(jù)庫形式。這里的數(shù)據(jù)庫采用Access,用ADO作為連接數(shù)據(jù)

18、對象。</p><p><b>  以歸納為以下幾步:</b></p><p>  1. 建立Access 數(shù)據(jù)庫</p><p>  啟動Access,建立一個空的數(shù)據(jù)庫ComputerBookmanage,如圖8所示。</p><p>  使用程序設(shè)計器建立系統(tǒng)需要的表</p><p><

19、;b>  圖書表:</b></p><p><b>  讀者表</b></p><p><b>  用戶</b></p><p><b>  借書表:</b></p><p><b>  用戶表:</b></p><p

20、><b>  2、連接數(shù)據(jù)</b></p><p>  在Visual Basic環(huán)境下,選擇“工程”→“引用”命令,在隨后出現(xiàn)的對話框中選擇“Microsoft ActiveX Data Objects 2.0 Library”,然后單擊“確定”按鈕,如圖:</p><p>  3.0引用ADO連接數(shù)據(jù)庫在程序設(shè)計的公共模塊中,先定義ADO連接對象。語句如下

21、:Public conn As New ADODB.Connection ' 標記連接對象然后在子程序中,用如下的語句即可打開數(shù)據(jù)庫:Dim connectionstring As Stringconnectionstring = "provider=Microsoft.Jet.oledb.4.0;" &_"data source= ComputerBookmanage .mdb&q

22、uot;conn.Open connectionstring</p><p>  4.0 設(shè)置ODBC</p><p>  VB的ADO對象是通過ODBC來訪問數(shù)據(jù)庫,所以還要建立ODBC數(shù)據(jù)引擎接口。打開</p><p>  控制面板中的“管理工具”→“數(shù)據(jù)源”(ODBC),出現(xiàn)如圖所示的對話框。</p><p>  圖17 ODBC對話

23、框</p><p>  單擊“添加”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對話框,如圖18所示。</p><p>  5.0創(chuàng)建新數(shù)據(jù)源”對話框選擇Microsoft Access Driver(*.mdb),單擊“完成”按鈕,出現(xiàn)如圖19所示對話框。</p><p>  設(shè)置連接數(shù)據(jù)源 在“數(shù)據(jù)源名”文本框中添加一個名字,單擊“確定”按鈕完成系統(tǒng)默認連接設(shè)置。然

24、后在ODBC對話框中單擊“確定”按鈕完成ODBC設(shè)置。</p><p> ?。ㄋ模㎝DB數(shù)據(jù)流程圖以及數(shù)據(jù)表</p><p>  1.基本表:[書籍 ] book</p><p>  2.基本表:[用戶表 ] user_table</p><p>  3.基本表:[讀者表]</p><p>  4.基本表:[職工信息

25、] worker</p><p>  5.基本表:[借閱信息] reader</p><p>  ADO中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。Record Set是ADO中最復(fù)雜的對象,有許多屬性和方法。Record Set保存的是一行行的記錄,并標有一個當前記錄。以下是創(chuàng)建方法:</p><p>  可以直接利用DATA控件直接綁定,在DATA控件的屬性中的RECOR

26、DSOURCE對數(shù)據(jù)表進行連接。</p><p>  Set Record Set=DB.Openrecordset(sqtStr)</p><p>  這條語句創(chuàng)建并打開了對象Record Set,其中db是先前創(chuàng)建的鏈接對象,sqtStr是一個字串,代表一條標準的SQL語句。例如: sqlStr=“SELECT * FROM table1”Set Record Set=DB.Openr

27、ecordset(sqtStr),執(zhí)行后,對象Record Set中就保存了表table1中的所有記錄。</p><p>  二、 計算機圖書管理系統(tǒng)數(shù)據(jù)</p><p> ?。ㄒ唬?數(shù)據(jù)庫與VB的連接</p><p>  當數(shù)據(jù)設(shè)置好后就應(yīng)用VB當中去,步驟:新建一個模塊命名“ Database “在Database </p><p>  

28、添加代碼, 數(shù)據(jù)庫與VB的連接代碼(由于代碼很長見光盤code目錄下 “ database.txt”)</p><p> ?。ǘ╆P(guān)閉數(shù)據(jù)對象和鏈接對象</p><p>  在使用了ADO對象之后要關(guān)閉它,因為它使用了一定的服務(wù)器資源。通過調(diào)用方法close實現(xiàn)關(guān)閉,然后再釋放它。</p><p>  Record Set.close</p><

29、p>  Set Record Set=Nothing</p><p>  /關(guān)閉創(chuàng)建的數(shù)據(jù)對象</p><p>  mConn.close</p><p>  Set mConn=Nothing</p><p>  /關(guān)閉創(chuàng)建的鏈接對象</p><p> ?。ㄈ╋@示數(shù)據(jù)庫中的內(nèi)容</p><

30、p>  利用MSFLEGRID控件來顯示數(shù)據(jù)庫中的內(nèi)容,可以直接通過DATA控件來實現(xiàn)操作,也可以利用代碼來完成相關(guān)的操作。</p><p>  sql = "select * from book where 圖書信息 ='" & Text1(0).Text & "'"</p><p>  If sql <

31、;> "" Then</p><p>  Set rs = db.OpenRecordset(sql)</p><p> ?。ㄋ模┯嬎銠C圖書管理系統(tǒng)數(shù)據(jù)流程圖</p><p>  三、開發(fā)圖書管理系統(tǒng)2008</p><p> ?。ㄒ唬╅_發(fā)計算機圖書管理系統(tǒng)的目的</p><p>  計算機圖

32、書館管理系統(tǒng)是我國大部分院?;蚱渌块T不可缺少的部分,書籍是人類精神食糧,尤其對一些學校,圖書館來說,非常重要。圖書館管理系統(tǒng)能夠為用戶實現(xiàn)借閱圖書、期刊、試卷合訂本等,隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對圖書資源信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:查閱迅速、安全性高、可靠性高、存儲量大、保密性好

33、、成本低等。這些優(yōu)點能夠極大地提高圖書館管理的效率,也是企業(yè)、學校的科學化、正規(guī)化管理,與世界接軌的重要條件,因此,開發(fā)這樣一套管理軟件是很有必要。 </p><p>  (二)開發(fā)計算機圖書管理系統(tǒng)的思路</p><p>  單從這一方面,開發(fā)圖書管理系統(tǒng)需要從以下幾個構(gòu)思方面著手。</p><p><b>  遐想</b></p>

34、;<p>  遐想。即大膽地思維想象,在腦海形成一個框架,怎樣去開發(fā),如何去開發(fā),開發(fā)有什么好處即影響。開發(fā)會遇到什么問題,怎樣去解決.</p><p><b>  繪圖</b></p><p>  即將遐想的,用圖象勾畫出來,呈現(xiàn)模擬系統(tǒng)的功能.</p><p><b>  3.準備材料</b></p

35、><p>  準備事先制作好材料。如軟件中所需要的圖片。代碼,軟件圖標(Ico)頁面圖片(bmp,jpg).</p><p><b>  4. 開發(fā)</b></p><p>  “糧草好了,就動兵馬” 意思是現(xiàn)實開發(fā)系統(tǒng)(如新建窗體,模塊等).</p><p>  四、計算機圖書管理系統(tǒng)模塊設(shè)計</p><

36、;p> ?。ㄒ唬┙缑嬖O(shè)計規(guī)范以及流程圖(詳細見頁面)</p><p>  主界面:菜單欄、工具條、工作區(qū)(本系統(tǒng)采用SSTab頁框)、狀態(tài)欄等。</p><p> ?。ǘ┫到y(tǒng)窗體匯總 </p><p> ?。ㄈ┲鞔绑w界面設(shè)計 </p><p>  主界面的設(shè)計采用標準無標題主窗口樣式,自上而下依次為:菜單欄、工具條、工作區(qū)(本系統(tǒng)采

37、用SSTab頁框)、狀態(tài)欄等。所有系統(tǒng)用戶擁有相似的主界面。主界面包含基本的或共享的功能,如書目瀏覽與檢索,基本統(tǒng)計等。代碼見code目錄下:main.txt</p><p><b>  主界面如代碼所示:</b></p><p>  Option Explicit</p><p>  '定義查詢字段的窗體級變量</p>

38、<p>  '定義查詢的字段窗體變量</p><p>  Dim sfield As String '查詢的關(guān)鍵詞</p><p>  Dim seachtext As String</p><p><b>  '查詢函數(shù)定義</b></p><p>  '1、桉書

39、號查詢則采用具體查詢辦法</p><p>  '2、按書名查詢則采用模糊查詢辦法</p><p>  Function open_seach(table_name As String, sfield As String, seachtext As String) As Integer</p><p>  Dim sqlstr As String</p&

40、gt;<p>  Dim str As String</p><p><b>  '建立數(shù)據(jù)庫連接</b></p><p>  Set con = New ADODB.Connection</p><p>  Set rst = New ADODB.Recordset</p><p>  con.C

41、ursorLocation = adUseClient</p><p>  sqlstr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + App.Path + "\data\ComputerBookmanage.mdb" + ";Persist Security Info=Fal

42、se"</p><p>  con.Open sqlstr</p><p><b>  ' 查詢辦法選擇</b></p><p>  If Option1.Value = True Then</p><p>  str = "select * from " & table_n

43、ame & " where " & sfield & "='" & seachtext & "'"</p><p><b>  Else</b></p><p>  str = "select * from " & table

44、_name & " where " & sfield & " like '" & Trim(" %" & Text1.Text & "%") & "'"</p><p><b>  End If</b></p>

45、<p>  If Option3.Value = True Then</p><p>  str = "select * from " & table_name & " where " & sfield & "='" & seachtext & "'"<

46、;/p><p><b>  Else</b></p><p>  str = "select * from " & table_name & " where " & sfield & " like '" & Trim(" %" & Tex

47、t1.Text & "%") & "'"</p><p><b>  End If</b></p><p>  rst.Open str, con, adOpenDynamic, adLockOptimistic</p><p>  rst.Requery</p>&

48、lt;p>  If rst.RecordCount > 0 Then</p><p>  open_seach = 1 '返回一個值1,代表有查詢結(jié)果</p><p><b>  Else</b></p><p>  open_seach = 0 '返回一個值0,代表沒有查詢結(jié)果&

49、lt;/p><p><b>  End If</b></p><p>  End Function</p><p>  Private Sub Check4_Click()</p><p><b>  '選擇查詢的字段</b></p><p>  Select Case

50、TabStrip1.SelectedItem</p><p>  Case "圖書信息瀏覽":</p><p>  sfield = "[出版社]"</p><p>  End Select</p><p><b>  End Sub</b></p><p>

51、;  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)到達第一條記錄了!&

52、quot;</p><p><b>  Exit Sub</b></p><p><b>  Else</b></p><p>  rst.MovePrevious</p><p><b>  End If</b></p><p><b>  

53、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</p>

54、<p>  frmMsg.Text1.Text = "已經(jīng)到達最后一條記錄了!"</p><p><b>  Exit Sub</b></p><p><b>  Else</b></p><p>  rst.MoveNext</p><p><b>  

55、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")

56、 '連接book表</p><p>  tablename = "book"</p><p>  If privilege = 1 Then '如果只是普通用戶,無法查詢員工信息</p><p>  frmMsg.Show</p><p>  frmMsg.error.

57、Visible = True</p><p>  frmMsg.Text1.Text = "對不起,您沒有查閱的權(quán)限!"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  open_connection (

58、"worker") '連接worker表</p><p>  tablename = "worker"</p><p>  open_connection ("record") '連接record表</p><p>  tablename = &quo

59、t;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</p>

60、<p>  If Command4.Caption = "查 詢" Then</p><p>  Command4.Caption = "確 定"</p><p><b>  Else</b></p><p>  If Option1.Value = False And Option2.Va

61、lue = 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 = "請選擇查詢項!"</

62、p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If Text1.Text = "" Then</p><p>  frmMsg.Show</p><p>  frmMsg.notice.

63、Visible = True</p><p>  frmMsg.Text1.Text = "請輸入查詢內(nèi)容!"</p><p>  Text1.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p&g

64、t;<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>  frmMsg.error.

65、Visible = True</p><p>  frmMsg.Text1.Text = "對不起,沒有你要的記錄!"</p><p>  Option1.Value = False</p><p>  Option2.Value = False</p><p>  Text1.Text = ""<

66、;/p><p><b>  rst.Close</b></p><p>  Set rst = Nothing</p><p>  Set DataGrid1.DataSource = rst</p><p>  Command1.Enabled = False '上一條,下一條按鈕為灰</

67、p><p>  Command2.Enabled = False</p><p>  Command4.Caption = "查 詢"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p> 

68、 Command1.Enabled = True</p><p>  Command2.Enabled = True</p><p>  Set DataGrid1.DataSource = rst</p><p>  Text1.Text = ""</p><p>  Option1.Value = False</

69、p><p>  Option2.Value = False</p><p>  Command4.Caption = "查 詢"</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Pri

70、vate Sub DataGrid1_Click()</p><p>  Call connect_db</p><p>  open_connection ("book") '連接book表</p><p>  tablename = "book"</p><p>  

71、If privilege = 1 Then '如果只是普通用戶,無法查詢員工信息</p><p>  frmMsg.Show</p><p>  frmMsg.error.Visible = True</p><p>  frmMsg.Text1.Text = "對不起,您沒有查閱的權(quán)限!"</p>

72、;<p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  open_connection ("worker") '連接worker表</p><p>  tablename = "worker&

73、quot;</p><p>  open_connection ("record") '連接record表</p><p>  tablename = "record"</p><p>  Set DataGrid1.DataSource = rst</p><p><

74、;b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Option1.Caption = "書號"</p><p>  Option2.Caption = "書名"</p><p>  Option3.Caption

75、= "出版社"</p><p>  Option4.Caption = "作者"</p><p>  Label2.Caption = frmLogin.Text1.Text</p><p>  Timer1.Interval = 1000</p><p>  tablename = "boo

76、k"</p><p>  Call connect_db</p><p>  open_connection ("book")</p><p>  Set DataGrid1.DataSource = rst</p><p>  TabStrip1.Tabs.Item(1) = "圖書信息瀏覽"

77、;</p><p>  TabStrip1.Tabs.Item(2) = "員工信息瀏覽"</p><p>  TabStrip1.Tabs.Item(3) = "圖書借閱情況瀏覽"</p><p>  Text1.Text = ""</p><p>  open_connectio

78、n ("book")</p><p>  Set DataGrid1.DataSource = rst</p><p>  frmLogin.Show</p><p><b>  End Sub</b></p><p>  Private Sub Image1_Click()</p>&

79、lt;p><b>  End Sub</b></p><p>  Private Sub Option1_Click()</p><p>  Select Case TabStrip1.SelectedItem</p><p>  Case "圖書信息瀏覽":</p><p>  sfield

80、= "[圖書編碼]"</p><p>  Case "員工信息瀏覽":</p><p>  sfield = "[工號]"</p><p>  Case "圖書借閱情況瀏覽":</p><p>  sfield = "[圖書編碼]"</p

81、><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Option2_Click()</p><p><b>  '選擇查詢的字段</b></p><p>  Select Case TabSt

82、rip1.SelectedItem</p><p>  Case "圖書信息瀏覽":</p><p>  sfield = "[圖書名稱]"</p><p>  Case "員工信息瀏覽":</p><p>  sfield = "[姓名]"</p>

83、<p>  Case "圖書借閱情況瀏覽":</p><p>  sfield = "[工號]"</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Option3_Click()&l

84、t;/p><p><b>  '選擇查詢的字段</b></p><p>  Select Case TabStrip1.SelectedItem</p><p>  Case "圖書信息瀏覽":</p><p>  sfield = "[出版社]"</p><

85、;p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Option4_Click()</p><p><b>  '選擇查詢的字段</b></p><p>  Select Case TabStrip1.Sele

86、ctedItem</p><p>  Case "圖書信息瀏覽":</p><p>  sfield = "[作者]"</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub

87、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>  Sele

88、ct Case TabStrip1.SelectedItem</p><p>  Case "圖書信息瀏覽":</p><p>  open_connection ("book") '連接book表</p><p>  tablename = "book"</p>

89、<p>  Option1.Caption = "書號"</p><p>  Option2.Caption = "書名"</p><p>  Set DataGrid1.DataSource = rst</p><p>  Case "員工信息瀏覽":</p><p>

90、;  If privilege = 1 Then '如果只是普通用戶,無法查詢員工信息</p><p>  frmMsg.Show</p><p>  frmMsg.error.Visible = True</p><p>  frmMsg.Text1.Text = "對不起,您沒有查閱的權(quán)限!"</p

91、><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  open_connection ("worker") '連接worker表</p><p>  Option1.Caption = &quo

92、t;工號"</p><p>  Option2.Caption = "姓名"</p><p>  tablename = "worker"</p><p>  Set DataGrid1.DataSource = rst</p><p>  Case "圖書借閱情況瀏覽":

93、</p><p>  open_connection ("record") '連接record表</p><p>  Option1.Caption = "書號"</p><p>  Option2.Caption = "工號"</p><p>  ta

94、blename = "record"</p><p>  Set DataGrid1.DataSource = rst</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Timer1_Timer()</p&g

95、t;<p>  Label3.Caption = Now</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton1_Click()</p><p>  Form4.Show</p><p><b>  End Sub</b>

96、;</p><p>  Private Sub xpcmdbutton12_Click()</p><p>  Form6.Show</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton13_Click()</p><p>  fr

97、mAbout.Show</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton14_Click()</p><p><b>  Unload Me</b></p><p>  frmLogin.Show</p><p

98、><b>  End Sub</b></p><p>  Private Sub xpcmdbutton15_Click()</p><p>  open_connection "reader"</p><p>  tablename = "reader"</p><p> 

99、 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</b><

100、;/p><p>  Private Sub xpcmdbutton3_Click()</p><p>  Form2.Show</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton4_Click()</p><p>  Form3.Sh

101、ow</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton5_Click()</p><p>  open_connection ("book")</p><p>  tablename = "record"<

102、/p><p>  Set DataGrid1.DataSource = rst</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton6_Click()</p><p>  open_connection ("record")</p&g

103、t;<p>  tablename = "record"</p><p>  Set DataGrid1.DataSource = rst</p><p><b>  End Sub</b></p><p>  Private Sub xpcmdbutton7_Click()</p><p&

104、gt;  open_connection ("worker")</p><p>  tablename = "worker"</p><p>  Set DataGrid1.DataSource = rst</p><p><b>  End Sub</b></p><p>  P

105、rivate 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</p>

106、<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 Sub</b&

107、gt;</p><p>  Private Sub xptopbuttons1_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub xptopbuttons2_Click()</

108、p><p>  Me.WindowState = 1</p><p><b>  End Sub</b></p><p><b>  用戶登陸 </b></p><p>  該窗體主要完成用戶管理登陸功能,也是進入系統(tǒng)的一個重要的門檻,該門檻是有權(quán)限限制,根據(jù)不同的用戶帳號,功能也截然不同,這就是本系統(tǒng)

109、的一個關(guān)鍵點。(默然讀者帳號;reader 密碼;008)代碼見code目錄下:login.txt</p><p>  Private Sub Form_Load() '連接用戶表</p><p>  Call open_connection("user_table")</p><p>  xpcmdbutton1

110、.Caption = "登陸"</p><p>  xpcmdbutton2.Caption = "注銷"</p><p><b>  End Sub</b></p><p>  Private Sub Image1_Click()</p><p><b>  End S

111、ub</b></p><p>  Private Sub xpcmdbutton1_Click() '登錄系統(tǒng)</p><p>  Dim sql As String</p><p>  If Trim(Text1.Text) = "" Then '如果文本框為空,則給出提示</p>

112、<p>  frmMsg.Show</p><p>  frmMsg.notice.Visible = True</p><p>  frmMsg.Text1.Text = "請輸入用戶登錄賬號!"</p><p><b>  Exit Sub</b></p><p><b> 

113、 Else</b></p><p>  sql = "select * from user_table where [登錄名]='" & Trim(Text1.Text) & "'" '查找用戶登錄名</p><p><b>  rst.Close</b></p>

114、;<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><p&

115、gt;  frmMsg.Text1.Text = "用戶名不存在!"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  '用戶合法性檢測并賦予一定的權(quán)限級別</p><p>  If LCase(T

116、rim(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) '權(quán)限分配<

117、;/p><p><b>  Else</b></p><p>  frmMsg.Show</p><p>  frmMsg.error.Visible = True</p><p>  frmMsg.Text1.Text = "密碼錯誤,請重新輸入!"</p><p><b&

118、gt;  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</b><

119、/p><p>  Private Sub xpcmdbutton2_Click() '退出系統(tǒng)</p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub xptopbuttons1_Click()</p

120、><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><p&g

121、t;<b>  End Sub</b></p><p>  如果用戶名錯誤或者密碼錯誤” 友情提示”窗體就會響應(yīng),傳送信息給用戶</p><p><b>  提示1</b></p><p><b>  提示2</b></p><p><b>  2.借書 </b

122、></p><p>  該窗體主要完成讀者借閱功能,也是最重要的一項功能,讀者借閱圖書與職工人員,管理人員才能完成借閱功能,,借閱后系統(tǒng)信息將保存,以便管理員能核對一下,以免出錯,假如你已經(jīng)超過最大的借閱量,系統(tǒng)還會自動提醒管理員該讀者已經(jīng)不能繼續(xù)借書了。該閱子模塊簡單,計算機圖書綜合信息以圖書編號歸攏在一起,方便借閱。代碼見code目錄下: borrow.txt</p><p>&

123、lt;b>  窗體代碼:</b></p><p>  Option Explicit</p><p>  Private Sub Command1_Click() '借出圖書</p><p>  Dim sql, sql1, sql2 As String</p><p>  Dim num

124、 As Integer</p><p>  sql = "select * from record"</p><p>  sql1 = "select * from worker where [工號]=?"</p><p>  sql2 = "select * from book where [圖書編碼]=?&quo

125、t;</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><p>  Se

126、t 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 param2 = N

127、ew ADODB.Parameter</p><p>  Set param3 = New ADODB.Parameter</p><p>  Set param4 = New ADODB.Parameter</p><p><b>  '工號及書號檢測</b></p><p>  '檢驗工號及書號的合法

128、性</p><p>  With param1</p><p>  .Direction = adParamInput</p><p>  .Type = adBSTR</p><p><b>  .Size = 8</b></p><p>  .Value = Text1.Text</p&

129、gt;<p><b>  End With</b></p><p>  cmd1.Parameters.Append param1</p><p>  cmd1.CommandText = sql1</p><p>  cmd1.CommandType = adCmdText</p><p>  Set c

130、md1.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</p>

131、<p>  frmMsg.Text1.Text = "沒有此工號!"</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  With param2</p><p>  .Direction = a

132、dParamInput</p><p>  .Type = adBSTR</p><p><b>  .Size = 8</b></p><p>  .Value = Text2.Text</p><p><b>  End With</b></p><p>  cmd2.P

133、arameters.Append param2</p><p>  cmd2.CommandText = sql2</p><p>  cmd2.CommandType = adCmdText</p><p>  Set cmd2.ActiveConnection = con</p><p>  Set rst1 = cmd2.Execute

134、</p><p>  If rst1.RecordCount <= 0 Then</p><p>  frmMsg.Show</p><p>  frmMsg.notice.Visible = True</p><p>  frmMsg.Text1.Text = "沒有此圖書編號!"</p><p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論