畢業設計源代碼庫管理系統數據庫管理系統論文_第1頁
畢業設計源代碼庫管理系統數據庫管理系統論文_第2頁
畢業設計源代碼庫管理系統數據庫管理系統論文_第3頁
畢業設計源代碼庫管理系統數據庫管理系統論文_第4頁
畢業設計源代碼庫管理系統數據庫管理系統論文_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、源代碼庫管理系統摘要: 源代碼庫管理系統是典型的信息管理系統(mis),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。因此本人結合開入式源代碼庫的要求,對microsoft access 2000數據庫管理系統、sql語言原理、vb應用程序設計、vb數據庫技術進行了較深入的學習和應用,主要完成對源代碼庫管理系統的需求分析、功能模塊劃分、數據庫模式分析,并由此設計了數據庫結構和應用程序。系統運行結果證明,本文所設計的源代碼庫管理系統可以滿足程序員管理源代碼的需要。第一章

2、 系統需求分析 隨著科學技術的不斷提高,計算機科學技術日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對各行業的各項信息進行管理,具有著手工管理所無法比擬的優點。數據庫管理系統(dbms)是指數據庫系統中管理數據的軟件系統。dbms是數據庫系統的核心組成部分。對數據庫的一切操作,包括定義、更新及各種控制,都是通過dbms進行的。dbms總是基于某種數據模型,可以把dbms看成是某種數據模型在計算機系統上的具體實現。根據數據模型的不同,dbms可以分成層次型、網狀型、關系型、面向對象型等。access 2000就是一種

3、關系型數據庫管理系統。本系統是源代碼管理系統,主要為程序員在管理源代碼上有更的工具。現在程序語言有很多種,程序的源代碼更多。怎么才能更好的管理好這么多不同類型的源代碼。因此,開發這樣一套源代碼庫管理系統軟件成為很有必要的事情,在下面的各章中我們將就本次畢業設計我所開發的源代碼庫管理系統,談談其開發過程和所涉及到的問題及解決方法。因此本人結合開入式源代碼庫的要求,對microsoft access 2000數據庫管理系統、sql語言原理、vb應用程序設計、vb數據庫技術進行了較深入的學習和應用,主要完成對源代碼庫管理系統的需求分析、功能模塊劃分、數據庫模式分析,并由此設計了數據庫結構和應用程序。

4、第二章 數據庫和開發語言介紹源代碼庫管理系統采用的數據庫是microsoft access 2000數據庫,開發語言為microsoft visual basic 6.0(簡稱vb6.0)。vb6.0作為前臺的開發工具,用access 2000作為后臺支持數據庫,通過vb6.0的數據庫控件來連接access 2000中并對其編程來實現各種功能。因為access與visual basic用的同為microsoft jet數據庫引擎,有著最好的兼容性。第一節access 數據庫介紹過去的一些數據庫軟件,在操作上、數據庫建立、維護等等,都相當復雜且不易使用,但是在具備了窗口的gui(圖形用戶界面)特

5、性的access數據庫推出之后,數據庫的建立不再是困難的事情,我們可以在pc上簡單而快速的建立出一套符合自己的數據庫。不但如此,在access 2000 推出以后,我們發現數據庫的建立更加的快速,但是功能卻更加強大,用戶不用再去記憶那一大堆的文件名稱,或是為數據庫的文件管理大費周章,通過access的人性化管理接口把數據庫的管理整理,便于維護;此外,在報表的制作上也是相當容易的,完全的視覺開發向導設計,讓人使用起來很舒服。但是美中不足的是access對于主從式結構的安全性管理不足,由于access可以快速的通過odbc連接到數據庫服務器上(database server),并瀏覽所有表格或是相

6、關對象轉成html基本上,access對建立一個數據庫所具備的每一個對象,其中包括了表、查詢、窗體、報表、宏、模塊。其功能分別敘述如下: 表對象打開已經存在的表格、對已存在的表格字段數據進行修改、新建表格。 查詢對象可以用直接拖放的方式,建立表格之間的關聯與對應關系,自動產生sql語法查詢出我們想要的數據。 窗體設計對象可以設計用戶接口,用來輸入并處理數據。 報表對象利用視圖向導的開發方式,簡單、快速的建立出需求報表或標簽。 宏對象提供許多的宏功能,您可以把這樣的宏連接到窗體設計中的任一個對象,以達成一些復雜的功能。 模塊對象撰寫vb的程序模塊,處理較復雜的問題與需求,該功能是采用事件驅動的模

7、式,類似vb的處理方式。第二節vb 概述visual basic的前身是qbasic,語言基礎是basic。自從微軟推出vb后,便成為了程序開發人員的首選工具。據統計,僅在數據庫系統開發領域,vb就占了90的份額。vb是基于對象的可視化程序開發工具,它的優點在于能夠快捷、簡易地建立windows應用程序。1998年8月,微軟推出了vb 6.0的版本,進一步加強了部件開發的功能。以適用人員來分,可有以下三個版本:1. 標準版 針對一般程序設計人員,適合普通應用系統的開發。2. 專業版 針對專業程序開發人員,它在標準版的基礎上提供了對數據庫和internet的支持。3. 企業版 適用于專為企業設計

8、應用軟件的程序開發人員。使用vb不需要追求完美的算法和精密的邏輯,而只要充分發揮你的想象力和創造力,就能利用vb開發出各種實用的軟件了,不論是小游戲還是大型的客戶端/服務器端應用程序,都變得非常簡單。可視化編程的一個突出特點就是其開發環境就像一個百寶箱,很多功能都集成在其之中,這就是ide(integrated development environment),即集成開發環境。ide是指在相應的開發平臺中集成了編輯器、編譯連接工具、控件器箱輔助工具。例如在vb的集成開發環境中就包括了以下一些主要元素:工具欄、工具箱、工程管理器窗口、屬性窗口、窗體設計器、代碼編輯器窗口等;和vb類似,delph

9、i的ide中具有主控制窗體、對象查看窗口和窗體設計器。同時ide的設置是很靈活的,開發人員可以按照自己的編程習慣來配置ide。從簡單的文本文件到各種復雜的關系型數據庫,數據庫應用程序需要面對各種各樣的數據源。visual basic 6.0提供ado(active data objects)作為應用程序和ole-db連接的橋梁ado,即active數據對象(active data objects):實際是一種提供訪問各種數據類型的連接機制。ado設計為一種極簡單的格式,通過odbc的方法同數據庫接口相連。用戶可以使用任何一種odbc數據源,即不僅適合于sql server、oracle、acc

10、ess等數據庫應用程序,也適合于excel表格、文本文件、圖形文件和無格式的數據文件。ado是基于ole-db之上的技術,因此ado通過其內部的屬性和方法提供統一的數據訪問接口方法。本系統就是用ado對象來連接數據庫的。下一節專門介紹ado。microsoft在visual basic 6.0以后的版本都集成了ado。它與以前visual basic的dao、rdo相比有了很大的提高。dao(data access objects)即數據訪問對象,是一種面向對象的界面接口。通過dao/jet功能可以訪問isam數據庫,使用dao/odbc direct功能可以實現遠程rdo功能。rdo(rem

11、ote data objects)即遠程數據對象,為使用代碼來創建和操作一個遠程odbc數據庫系統的各個部件提供了一個框架。rdo是odbc api的一個淺層界面接口,是專為訪問遠程odbc關系數據源而設計的。第三節 數組數組是一種比較特殊的數據類型,也是編寫程序很重要的一種數據結構。當一系列有相同類型的數據需要存儲到變量中時,可以使用數組存儲,用一個統一的變量名稱加上一個索引值來存取數據。使用數組可以縮短程序代碼、提高程序的可讀性和執行效率。數組的聲明和一般變量類似,不同的是聲明定長數組時要給出指定的大小或上、下界。聲明格式如下: dim 數組名稱(大小)as 數據類型或者: dim 數組名

12、稱(下界 to 上界)as 數據類型用dim語句聲明的數據變量為局部變量,如果要聲明靜態變量、模塊級的變量或公用數組變量,只把聲明關鍵字“dim”分別改成“static”、“private”、“public”即可。例如: dim integerarray(99) as integer這個數組中包含100個元素,腳標從0到99。也可以指定腳標的起始值,例如:dim integerarray(2 to 10) as integer這個數組含有九個元素,腳標從2到10。前面所舉的例子為一維數組,還可以定義多維數組:dim threed(4,2 to 5,3 to 6) as integer定義了一個

13、三維數組(444)。創建n維數組格式如下(動態分配數組): dim 數組名稱 () as 數據類型 redim數組名稱 (第1維大小,第2維大小,第n維大小)第四節 循環語句循環結構是計算機語言里一種重要的結構,它的應用廣泛,最簡單的例子是累加器的作用,還可以用于窮舉法,更直觀的例子是把某件事重復指定的次數,這樣就不用把要重復的語句輸入多次,而通過循環結構完成,非常方便。vb里也有“for”關鍵字,只是vb的“for”語句更容易理解。“for”的格式是:for = to step next 在默認情況下,step被設為“1”,可以省略,step也可以設為負值,例如:dim a=0for i=1

14、 to 10 a=a+inext i這是一個最簡單的累加器的例子,把1到10累加在一起,然后賦值給“a”這樣的效果和上面是一樣的,只不過是倒著加罷了,請看:dim a=0for i=10 to 1 step 1a=a+inext iwhile語句也是一個很常用的循環語句,它的形式很多。do while loop語句 while wend 語句 do loop while while后面都跟邏輯條件判斷,“do while loop語句”和“while wend 語句”作用相似,都是先判斷while后面的條件是否為“真”,如果為“真”則執行里面的語句,如果為“假”,則退出循環,循環直至條件為“假

15、”終止。“do loop while ”與前兩者的區別在于,它不管條件的真假,都會先執行“do”后面的語句,也就是說,它至少執行語句一次。與while用法相似的還有until語句,它是直至條件為真則終止循環,句式把while上述三個語句的while換成until即可,但是因為容易記混,所以我建議只用while即可。until 可以相當于while not 。for循環和whlie循環應當根據適當的環境使用,它們有時也可替換。第五節 過程與函數函數與過程有許多相似的地方,它們之間最大也是最本質的區別就在于,函數有一個返回值,而過程只是執行一系列動作,所以可以簡單的把函數理解成為一個變量,而vb中

16、的每個事件都是一個過程,比如command1_click()就是一個過程。因為在程序設計中經常會有重復的地方,所以把它做成一個函數或一個過程,在使用時進行調用,可以節省大量的輸入代碼的時間,而且使用函數和過程也便于程序的結構化和修改查看。函數和過程都可以有參數,也可以沒有參數。在vb里通用過程分兩類,一類是sub過程(子過程), 另一類是function過程(簡稱函數)。sub過程的定義格式如下:publicprivatestatic sub 過程名稱(參數)end subsub過程的調用很簡單: call 過程名稱(參數)。 function過程的定義和sub相似。就是多了一個返回值的類型。

17、publicprivatestatic function過程名稱(參數) as 類型end functionfunction 過程的調用格式如下: dim a$ a=過程名稱(參數)第六節 ado 對象ado是microsoft公司關于各種類型數據的高等界面,后來逐漸演變成滿足所有數據訪問需要的完整解決辦法。ado的對象模型是所有數據訪問接口對象模型中最簡單的一種。microsoft公司用來訪問ado數據的應用程序界面技術是ole db。ole db是一種底層編程接口,用來訪問許多不同類型的數據源,其中包括消息、文件系統以及其他一些非傳統的數據源。ole db是一個由component obj

18、ect model(com)接口組成的集合,用來隱藏創建數據訪問服務過程中的細節。oledb提供了訪問任何數據資源的方法,包括相互關聯的數據庫和相互不關聯的數據庫、email和文件系統、文本和圖形以及用戶定義的數據對象。以下是本程序中用到的對象:connection對象:通過“連接”可從應用程序訪問數據源,連接是交換數據所必需的環境。對象模型使用connection對象使連接概念得以具體。recordset對象:表示的是來自基本表或命令執行結果的記錄全集。recordset 對象可支持兩類更新:立即更新和批更新。使用立即更新,一旦調用update方法,對數據的所有更改將被立即寫入基本數據源。也

19、可以使用addnew和update方法將值的數組作為參數傳遞,同時更新記錄的若干字段。field對象:代表使用普通數據類型的數據的列。recordset對象含有由field對象組成的fields集合。每個field對象對應于recordset中的一列。使用field對象的value屬性可設置或返回當前記錄的數據。以下是本程序中用到的方法:addnew方法:創建可更新recordset對象的新記錄。movefirst、movelast、movenext 和moveprevious方法:在指定 recordset 對象中移動到第一個、最后一個、下一個或前一個記錄并使該記錄成為當前記錄。open方法

20、(ado connection):打開到數據源的連接。open方法(ado recordset):打開記錄集。close方法:關閉打開的對象及任何相關對象。execute方法:執行指定的查詢、sql語句、存儲過程或特定提供者的文本等內容。第三章 系統設計第一節 系統功能分析源代碼庫管理系統是為了對源代碼實行計算機化的管理,以提高工作效率,方便程序員。主要功能有對源代碼、源代碼類型等進行管理和基本資料管理以及對系統自身的用戶權限管理。提供各種源代碼信息的錄入、修改、查詢、刪除等功能。而且還包含了對查詢情況的模糊功能。系統管理主要任務是提高系統安全性和對系統提供良好的維護,如用戶權限可以為用戶提供

21、權限服務。源代碼庫管理系統是基于sstab選項窗體,以vb自帶的jet引擎連接access 2000數據庫進行開發的,力求與用戶相結合滿足程序員所要的功能,旨在達到使源代碼管理和信息數字化,使之更加方便快捷以提高工作效率。1、登錄系統管理主要包括:系統登錄分管理員和普通用戶登錄。2、基本資料管理主要包括:源代碼管理模塊包括:顯示添加修改刪除查詢等。代碼內容的自動加載:可以輸入,也可以復制,剪切,粘貼,全選等。3、設置管理主要包括:源代碼類型模塊包括:顯示添加、刪除、查詢等。系統自帶一部分,可以用戶自己定義源代碼類型。添加用戶模塊包括:為系統新用戶設置用戶名及口令。修改密碼模塊包括:用于操作員更

22、改自己的系統口令。第二節 系統結構設計1、登錄系統功能模塊結構流程圖:如圖3-1。修改admin用戶的密碼系 統 用 戶 信 息 admin用戶創建修改和刪除普通用戶信息修改自身的用戶名和密碼 普通用戶圖3-1 登錄系統功能模塊結構2、基本資料模塊結構流程圖:如圖3-2。基本資料系統 源代碼內容自動加載人工操作圖3-2 基本資料模塊結構圖3、設置管理模塊結構流程圖:如圖3-3。設置管理模塊修改密碼代碼類型用戶添加刪除圖3-3 設置管理模塊結構圖4、系統總流程圖:如圖3-4。開 始用戶登錄提示出錯 成功讀取用戶類型admin用戶普通用戶主界面主界面設 置 管 理基 本 資 料檢索系統圖3-4 系

23、統流程圖第四節 數據庫設計數據庫設計主要是進行數據庫的邏輯設計,即將數據按一定的分類、分組系統和邏輯層次組織起來,是面向用戶的。數據庫設計時需要綜合企業各個部門的存檔數據和數據需求,分析各個數據之間的關系,按照dbms提供的功能和描述工具,設計出規模適當、正確反映數據關系、數據冗余少、存取效率高、能滿足多種查詢要求的數據模型。數據庫設計的步驟是:1、數據庫結構定義:目前的數據庫管理系統(dbms)有的是支持聯機事務處理cltp(負責對事務數據進行采集、處理、存儲)的操作型dbms,有的可支持數據倉庫、有聯機分析處理clap(指為支持決策的制定對數據的一種加工操作)功能的大型dbms,有的數據庫

24、是關系型的、有的可支持面向對象數據庫。針對選擇的dbms,進行數據庫結構定義。2、數據表定義:數據表定義指定義數據庫中數據表的結構,數據表的邏輯結構包括:屬性名稱、類型、表示形式、缺省值、校驗規則、是否關鍵字、可否為空等。關系型數據庫要盡量按關系規范化要求進行數據庫設計,但為使效率高,規范化程度應根據應用環境和條件來決定。數據表設計不僅要滿足數據存儲的要求,還要增加一些如反映有關信息、操作責任、中間數據的字段或臨時數據表。3、存儲設備和存儲空間組織:確定數據的存放地點、存儲路徑、存儲設備等,備份方案,對多版本如何保證一致性和數據的完整性。4、數據使用權限設置:針對用戶的不同使用要求,確定數據的

25、用戶使用權限,確保數據安全。5、數據字典設計:用數據字典描述數據庫的設計,便于維護和修改。為了更好地組織數據和設計出實際應用數據庫,應該注意如下問題:規范化地重組數據結構:對數據進行規范化表達,這在后面將會具體討論。6、關系數據結構的建立:在進行了數據基本結構的規范化重組后,還必須建立整體數據的關系結構。這一步設計完成后數據庫和數據結構設計工作基本完成,只待系統實現時將數據分析和數據字典的內容代入到所設計的數據整體關系結構中,一個規范化數據庫系統結構就建立起來了。第五節 數據表的結構設計根據系統需求分析和功能設計,在數據庫創建以下幾個表:user_info、源代碼表、代碼類型表。表結構如下:u

26、ser_info表:主要記錄用戶名和密碼的功能。如表3-5。字段名稱字段類型說明姓名文本主鍵密碼文本表3-5 user_info表代碼類型表:是記錄源代碼類型的功能。如表3-6。字段名稱字段類型說明代碼類型文本主鍵表3-6 代碼類型表源代碼表:主要是記錄源代碼信息的功能。表3-7源代碼表。字段名稱字段類型說明id自動編號主鍵代碼標題文本代碼類型文本代碼內容備注代碼功能文本備注文本表3-7源代碼表第四章 應用程序的開發應用程序是用vb開發的,界面設計的簡單明了。根據需求分析和功能設計,系統應用程序分為四大模塊:登錄模塊、信息管理、信息檢索、設置管理四個模塊。第一節 登錄模塊的開發登錄界面是用戶最

27、先看到的系統的界面,所以直觀上給用戶的感覺很重要,所以做一個好的界面,提高軟件的親和力。本管理系統登錄界面如圖4-1。圖4-1登錄界面根據登錄模塊的功能,管理員和普通用戶界面統一在一起。系統自動判斷用戶的要權限。管理員有所有的權限,普通用戶只有檢索和改本人的密碼權。初始管理員密碼為admin。管理員密碼存放在機子的注冊表中,位置在:hkey_current_usersoftwarevb and vba program settings工程1settingssyspassword 項連接數據庫采用ado對象(引用ado)。引擎采用microsoft.jet.oledb.4.0來連接access2

28、000數據庫。連接代碼如下:if cn.state then cn.closecn.connectionstring = provider=sqloledb.1;integrated security=sspi;persist security info=false;user id=sacn.properties(initial catalog).value = xxmiscn.open詳細代碼實現請參考附錄程序源代碼。第二節 主界面的開發根據源代碼庫管理系統的功能和需求,要求界面明了、簡單、直觀如圖4-2。工具欄下拉區列表區顯示區圖4-2主界面主界面由工具欄、下拉區、列表區、顯示區四部分組成

29、。工具欄主要管理、輸出、設置、關于、退出按鈕。另外,在主界面最下邊是狀態欄。工具欄是vb中的toolbar控件和imagelist控件。下拉區是vb中的combobox控件和textbox 控件。列表區是vb中的listbox和sstab選項窗體。顯示區是richtextbox控件。狀態欄是statusbar控件。各控件之間的位置關系代碼如下:sub sizecontrols(x as single) 設置 width 屬性 if x (me.width - 1500) then x = me.width - 1500 sstab1.width = x imgsplitter.left = x

30、 lvlistview.left = x + 40 lvlistview.width = me.width - (sstab1.width + 140) if sstab1.tab = 0 then combo1.width = sstab1.width - combo1.left - combo1.left list1.width = combo1.width text1.width = combo1.width list2.width = combo1.width else text1.width = sstab1.width - text1.left - text1.left list1

31、.width = text1.width combo1.width = text1.width list2.width = text1.width end if 設置 top 屬性 sstab1.top = pictitles.height lvlistview.top = sstab1.top text1.top = combo1.top 設置 height 屬性 if sbstatusbar.visible then sstab1.height = me.scaleheight - (pictitles.top + pictitles.height + sbstatusbar.height

32、) else sstab1.height = me.scaleheight - (pictitles.top + pictitles.height) end if list1.height = sstab1.height - combo1.top - 780 list2.height = list1.height lvlistview.height = sstab1.height imgsplitter.top = sstab1.top imgsplitter.height = sstab1.heightend sub詳細代碼實現請參考附錄程序源代碼。第三節 源代碼管理界面的開發在主界面如圖4

33、-2上,在工具欄上點管理按鈕。如果是管理員用戶就進入了管理界面。如圖4-3所示。如果是普通用戶,提示沒有權限。代碼實現請參考附錄程序源代碼。圖4-3管理界面先介紹在圖4-3中,各按鈕的功能:移動到第一條記錄。:移動到下一條記錄。:移動最后一條記錄。添加:是添加一新的記錄。刪除:是刪除當前的記錄。保存:是在添加和修改記錄后,保存記錄。修改:沒有修改按鈕,在移動到要修改的記錄,直接修改。點保存后就修改完畢。打開:是打開一個txt文件到代碼內容里。此界面不支持右鍵功能,但支持鍵盤的復制、粘貼等功能。復制:選中代碼內容,之后按ctrl+c,復制完畢。粘貼:在要粘貼的位置,按ctrl+v,粘貼完畢。注意

34、:自動id字段是數據庫自動生成的,人為是不能改變的。如何添加代碼:點添加按鈕,在代碼標題輸入代碼標題,選擇代碼類型,輸入代碼內容,備注可以不輸入。之后點保存,就提示保存成功,如圖4-4。如何刪除代碼:可以用移動到你要刪除的代碼,直接刪除。系統有提示。如圖4-5。 圖4-4保存成功 圖4-5 刪除提示如何打開已有的代碼內容:點打開按鈕,出現如圖4-6所示打開你的代碼文件,在代碼內容中就出現你打開的文件內容。圖4-6打開提示第四節 設置管理的開發在主界面(圖4-2)上點設置,如果是管理員用戶進入系統設置,如圖4-7所示。在系統設置里可以對代碼類型和管理員密碼、用戶進行管理。圖4-7系統設置在代碼類

35、型中可以添加代碼類型。也可以刪除代碼類型。系統管理按鈕是對管理員密碼和用戶進行管理。如圖4-8。圖4-8 系統管理界面添加用戶:輸入用戶名稱,設置好用戶原始密碼,點添加。刪除用戶:在用戶名稱中選擇要刪除的用戶,點刪除按鈕。管理員密碼修改:輸入舊密碼,輸入新密碼和新密碼核實。點修改按鈕。代碼實現請參考附錄程序源代碼。第五節 信息檢索的開發 信息檢索是源代碼管理系統一個重要的功能,也是必須的功能。在主界面圖4-2上列表區下邊有,功能檢索和標題檢索。支持這兩種檢索。標題檢索是全部的分類源代碼都可以在列表中顯示,也可以輸入關鍵字,模糊查詢。功能檢索是輸入關鍵字,列表中出現合適的代碼標題。如圖4-9。圖

36、4-9 信息檢索操作方法:在圖4-9中,輸入關鍵字,回車,在下邊列表中就出現所有符合條件的標題。點選你想要的標題。在顯示區就出現代碼內容。本方法用的sql語句中的模糊檢索like。只要標題中包含你要檢索的關鍵字都是合法記錄。代碼實現請參考附錄程序源代碼。第六節 程序其他功能的開發本管理系統中其他功能有右鍵、關于、輸出的功能開發。右鍵有復制、粘貼、剪切、全選菜單。如圖4-10。圖4-10 右鍵關于對話框是對軟件的介紹。如圖4-11。圖4-11關于輸出功能是輸出顯示區的內容為txt 文件。點上輸出按鈕。出現如圖4-12保存對話框,輸入名稱,保存,完畢。代碼實現請參考附錄程序源代碼。圖4-12 保存

37、第七節 打包應用程序程序的打包采用vb自帶的打包工具。打開vb打包向導。如圖4-24。選擇要打包的工程。點打包,如圖4-25。選擇標準包,下一步。如圖4-26。進入打包文件夾選擇。如圖4-27。選擇好,再點下一步。一直下一步,只到如圖4-28.點完成。這樣,程序打包工作就完成了。程序的發布,是用很打好的安裝包,來在用戶的機子上安裝本程序。直接點setup.exe就可以。一般安裝都是默認安裝。就可以在用戶的機子上安裝上本系統。圖4-24 打包界面圖4-25 選擇類型圖4-26 打包文件夾圖4-28 完成結論和謝詞經歷了幾個月的時間,經過這幾個月的努力,這個系統總算是完成了。顯然這個系統還是有很多

38、不成熟、不完善的地方。由于時間和能力有限本系統只完成了基本的功能部分,一些真正實用的外圍功能還來不及完善特別是打印信息這部分沒法實現,美工方面也不夠漂亮。但這畢竟是自己獨立完成的第一個運行正常的系統,從敝帚自珍的角度來講,還是頗覺欣慰的。系統的實現,將減輕程序人員的負擔。并能為程序人員的提供信息支持。感謝。最后,懇請各位評審老師不吝賜教,多提寶貴意見。參 考 文 獻1、王小茹等.visual basic 6.0實例解析.北京大學出版社.20002、王建華等譯.visual basic 6開發人員指南.機械工業出版社.19993、北京博彥科技發展有限責任公司.visual basic編程高手.北

39、京大學出版社.20004、附錄程序源代碼:frmlogin模塊源代碼:記錄確定次數dim micount as integerprivate sub command1_click() 登錄on error goto err dim txtsql as string username = if trim(txtusername.text = ) then msgbox 請重新輸入用戶名!, vbokonly + vbexclamation, 警告 txtusername.setfocus else dim syspassword as string syspassword = getsettin

40、g(app.title, settings, syspassword, admin) if trim(txtusername.text) = admin and trim(txtpassword.text) = syspassword then 管理員進入 username = txtusername.text 初始化系統 ok = true unload me frmmain.show elseif trim(txtusername.text) admin then txtsql = select * from user_info where 姓名 = & txtusername.text

41、& if rs.state then rs.close rs.open txtsql, cn, adopenstatic, adlockoptimistic if rs.eof = true then msgbox 沒有這個用戶,請重新輸入用戶名!, vbokonly + vbexclamation, 警告 txtusername.setfocus else if trim(rs.fields(1) = trim(txtpassword.text) then rs.close username = trim(txtusername.text) savesetting app.title, se

42、ttings, user_name, username ok = true unload me frmmain.show 1 else msgbox 輸入密碼不正確,請重新輸入!, vbokonly + vbexclamation, 警告 txtpassword.setfocus txtpassword.text = end if end if else msgbox 輸入密碼不正確,請重新輸入!, vbokonly + vbexclamation, 警告 end if end if micount = micount + 1 ok = false if micount = 3 then en

43、d end if exit suberr: msgbox 登錄出錯,請找管理員!, vbexclamation ok = false endend subprivate sub command2_click() 取消endend subprivate sub form_activate()txtpassword.setfocusend subprivate sub form_load()if cn.state then cn.closecn.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path &

44、 ydm.mdb;persist security info=falsecn.openok = falsetxtusername.text = getsetting(app.title, settings, user_name, )end subfrmmain窗體源代碼: dim mbmoving as booleanconst sglsplitlimit = 500private sub combo1_click() 代碼類型list1.clearlvlistview.text = if trim(combo1.text) then if rs.state then rs.close rs.

45、open select * from 源代碼表 where 代碼類型= & trim(combo1.text) & order by id, cn, adopenstatic, adlockoptimistic while not rs.eof if not isnull(rs.fields(1) then list1.additem trim(rs.fields(0) & - & trim(rs.fields(1) rs.movenext wendelse if rs.state then rs.close rs.open select * from 源代碼表 order by id, cn

46、, adopenstatic, adlockoptimistic while not rs.eof if not isnull(rs.fields(1) then list1.additem trim(rs.fields(0) & - & trim(rs.fields(1) rs.movenext wendend ifend subprivate sub command1_click(index as integer)select case indexcase 0if username = admin thenfrmadd.show 1elsemsgbox 你沒有權限!end ifcase 1

47、 輸出call txtoutputcase 2case 3 關于frmabout.show 1case 4endcase 5 設置類型if username = admin then frmoption.show 1else frmuserpass.show 1end ifend selectend subpublic sub txtoutput()on error goto errcommondialog1.filter = txt文件|*.txtcommondialog1.flags = &h2commondialog1.showsaveif commondialog1.filename

48、thenlvlistview.savefile commondialog1.filename, 1msgbox 保存成功!end iferr:end subprivate sub form_load()on error goto err:if rs.state then rs.closers.open select * from 代碼類型表, cn, adopenstatic, adlockoptimisticcombo1.additem while not rs.eof if not isnull(rs.fields(0) then combo1.additem trim(rs.fields

49、(0) end ifrs.movenextwendif rs.state then rs.closers.open select * from 源代碼表 order by id, cn, adopenstatic, adlockoptimisticwhile not rs.eof if not isnull(rs.fields(1) then list1.additem trim(rs.fields(0) & - & trim(rs.fields(1)rs.movenextwendsstab1.tab = 0exit suberr:end subprivate sub form_resize() on error resume next if me.width 3000 then me.width = 3000 sizecontrols imgsplitter.leftend subprivate sub imgsplitter_mousedown(button as integer, shift as integer, x as single, y as single) with imgsplitter picsplitter.move .left, .top, .width 2, .height - 20 end with pics

溫馨提示

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

評論

0/150

提交評論