版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于VB的倉(cāng)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)</p><p><b> 摘要</b></p><p> 倉(cāng)庫(kù)作為一種信息資源的集散地,用戶和貨物資料繁多,包含很多的信息數(shù)據(jù)的管理。高效率、科學(xué)化地 管理倉(cāng)庫(kù)成為提高生產(chǎn)經(jīng)營(yíng)效率的有效途徑。采用計(jì)算機(jī)管理信息系統(tǒng)能有效地避免倉(cāng)庫(kù)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效地查 詢和修改倉(cāng)庫(kù)
2、信息情況,并給企業(yè)管理帶來(lái)了明顯的經(jīng)濟(jì)效益和社會(huì)效益,成為當(dāng)今倉(cāng)庫(kù)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志。</p><p> 數(shù)據(jù)庫(kù)是六十年代末期開(kāi)始發(fā)展起來(lái)的一門(mén)新技術(shù),是管理信息資源的先進(jìn)工具。倉(cāng)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)便是這樣一種信息管理系統(tǒng)。它能對(duì)倉(cāng)庫(kù)所涉及的數(shù)據(jù)進(jìn)行提取和綜合。倉(cāng)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)不僅反映數(shù)據(jù)本身,而且反映數(shù)據(jù)之間的聯(lián)系,也是事物之間的聯(lián)系的反映。該系統(tǒng)以SQLSever作為后臺(tái)數(shù)據(jù)庫(kù),Visual ba
3、sic 6.0為前臺(tái)開(kāi)發(fā)工具,做到對(duì)倉(cāng)庫(kù)數(shù)據(jù)的查詢,更新和安全保密。</p><p> 關(guān)鍵詞:數(shù)據(jù)庫(kù),倉(cāng)庫(kù)管理系統(tǒng),Visual basic</p><p> The development of garage data base management system based on VB</p><p> Garage,as a kind of messa
4、ge resource’s distributing centre,it has a number of custorm an goods infermations.Those infermations contains many date managements.Garage-manage high-efficiently and sciencely is a useful way to improve production effi
5、ciency.Garage-management is random.Computer information manage system can avoid this random effectually , speed up the information processing and scan and renew the garage information accuratlly and on time.It also bring
6、s obviously economic benefits an so</p><p> Data base is a kind of new technology which was beginning developing in the end of 1970’s.It’s a kind of advanced instrument of information management.So garage d
7、ate base management system is such a kind of new technology.It has the function of drawing and multiping the data which was touched upon by garage. garage date base management system no only reflectioning the data itself
8、,but olso reflectioning the reletionsheep of data.And it can reflection the reletionsheep of object too.This system us</p><p> Key words:Data base;Garage management system; Visual basic</p><p>
9、<b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展概況1</p><p> 1.2 數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介1</p><p> 1.2.1 數(shù)據(jù)、數(shù)據(jù)庫(kù)1</p><p> 1.2.2 數(shù)
10、據(jù)庫(kù)管理系統(tǒng)2</p><p> 1.2.3 數(shù)據(jù)庫(kù)系統(tǒng)2</p><p> 第2章. 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)方案設(shè)計(jì)4</p><p> 2.1 數(shù)據(jù)模型的確定4</p><p> 2.2運(yùn)行環(huán)境和開(kāi)發(fā)工具4</p><p> 2.3 基本組成5</p><p> 第3章 倉(cāng)庫(kù)
11、設(shè)備數(shù)據(jù)庫(kù)開(kāi)發(fā)設(shè)計(jì)6</p><p> 3.1 設(shè)計(jì)方法和步驟6</p><p> 3.2 需求分析6</p><p> 3.3 功能模塊設(shè)計(jì)7</p><p> 3.4 創(chuàng)建數(shù)據(jù)庫(kù)8</p><p> 3.4.1創(chuàng)建設(shè)備數(shù)據(jù)庫(kù)8</p><p> 3.4.2創(chuàng)建用戶信息
12、數(shù)據(jù)庫(kù)9</p><p> 3.5創(chuàng)建應(yīng)用工程文件10</p><p> 3.6用戶管理模塊設(shè)計(jì)10</p><p> 3.6.1用戶登錄10</p><p> 3.6.2修改密碼13</p><p> 3.6.3添加用戶14</p><p> 3.6.4刪除用戶17&
13、lt;/p><p> 3.7信息管理模塊設(shè)計(jì)18</p><p> 3.7.1創(chuàng)建倉(cāng)庫(kù)管理系統(tǒng)主窗體(mainform.frm)18</p><p> 3.7.2創(chuàng)建查詢信息窗體(formchaxun.frm)19</p><p> 3.7.3創(chuàng)建添加信息窗體(formtianjia.frm)20</p><p
14、> 3.7.4創(chuàng)建修改信息窗體(formxiugai.frm)24</p><p> 3.7.5創(chuàng)建刪除信息窗體(formshanchu.frm)25</p><p> 3.7.6創(chuàng)建報(bào)表窗體30</p><p> 3.8 創(chuàng)建應(yīng)用文件包30</p><p> 第4章.倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)管理系統(tǒng)使用說(shuō)明31</p&
15、gt;<p><b> 4.1 系統(tǒng)31</b></p><p> 4.2 信息查詢31</p><p> 4.3 信息管理31</p><p><b> 結(jié)論32</b></p><p><b> 致 謝33</b></p>
16、<p><b> 參考文獻(xiàn)34</b></p><p><b> 第1章 緒論</b></p><p> 1.1 數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展概況</p><p> 數(shù)據(jù)庫(kù)是六十年代末期開(kāi)始發(fā)展起來(lái)的一門(mén)新技術(shù),是管理信息資源的先進(jìn)工具。這門(mén)技術(shù)已廣泛應(yīng)用于各個(gè)方面,如科技情報(bào)檢索、圖書(shū)管理、庫(kù)存管理、企業(yè)管理與經(jīng)營(yíng)
17、決策、財(cái)會(huì)統(tǒng)計(jì)、銀行存取、管理、人事材料管理、旅游管理、海關(guān)進(jìn)出口情報(bào)收集與管理、地圖數(shù)據(jù)庫(kù)、種子數(shù)據(jù)庫(kù)等多個(gè)方面。</p><p> 信息指的是各種形式的數(shù)據(jù)、資料、消息、信號(hào)…中所包含的意義,而載荷信息的物理符號(hào)(如數(shù)字、字母、文字、圖形、聲音…)稱為數(shù)據(jù)。</p><p> 所謂信息處理或數(shù)據(jù)處理,就是對(duì)信息(數(shù)據(jù))進(jìn)行加工處理,它包括對(duì)于數(shù)據(jù)進(jìn)行操作的一系列活動(dòng),如數(shù)據(jù)的收集、
18、存儲(chǔ)、傳播、檢索、分類、加工或計(jì)算,打印各種報(bào)表或輸出各種所需要的圖形。數(shù)據(jù)處理并不是有了電子計(jì)算機(jī)以后才出現(xiàn)的。自1890年發(fā)明第一臺(tái)卡片制表機(jī)并用其編制人口普查表以來(lái),就已經(jīng)開(kāi)始了數(shù)據(jù)處理的歷史。通常把這種用機(jī)械設(shè)備來(lái)進(jìn)行數(shù)據(jù)處理的系統(tǒng)稱為機(jī)械數(shù)據(jù)處理系統(tǒng)。</p><p> 自七十年代初以來(lái),在數(shù)據(jù)處理領(lǐng)域中廣泛采用數(shù)據(jù)庫(kù)技術(shù),使數(shù)據(jù)處理進(jìn)人了一個(gè)新的階段,這就是以數(shù)據(jù)庫(kù)系統(tǒng)為核心機(jī)構(gòu)的數(shù)據(jù)處理階段。這一
19、階段實(shí)現(xiàn)了計(jì)算機(jī)的全面信息管理。其特點(diǎn)是把一個(gè)組織(企業(yè)和部門(mén))有關(guān)的各種數(shù)據(jù)集中存儲(chǔ)與管理,建立起綜合化的數(shù)據(jù)庫(kù),并提供了管理數(shù)據(jù)庫(kù)的軟件,使各個(gè)部門(mén)方便地使用數(shù)據(jù)庫(kù)的數(shù)據(jù);同時(shí)采用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),進(jìn)行分布式處理,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)把不同部門(mén)、不同地區(qū)、不同國(guó)家的計(jì)算機(jī)或終端聯(lián)系在一起,共享豐富的信息資源,使信息的交換、傳遞和處理變得更為方便,從而更有效地利用信息資源。由于數(shù)據(jù)庫(kù)技術(shù)在信息(數(shù)據(jù))處理中顯示了巨大的威力,所以許多計(jì)算機(jī)科學(xué)
20、家把這個(gè)階段稱為“數(shù)據(jù)庫(kù)時(shí)代”。</p><p> 1.2 數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介</p><p> 1.2.1 數(shù)據(jù)、數(shù)據(jù)庫(kù)</p><p> 1.數(shù)據(jù)(data)</p><p> 數(shù)據(jù)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。數(shù)據(jù)按通常的理解表現(xiàn)為數(shù)字形式,這是對(duì)數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。廣義的理解,數(shù)字只是數(shù)據(jù)的一種表現(xiàn)形式,在計(jì)算機(jī)中可表示數(shù)據(jù)的
21、種類很多,文字、圖形、圖像、聲音都可以數(shù)字化,所以這些都是數(shù)據(jù)。為了了解世界、交流信息,人們?cè)谟?jì)算機(jī)中需要并且也能夠描述、存儲(chǔ)和處理這些表現(xiàn)形式多樣和內(nèi)容復(fù)雜的數(shù)據(jù)。</p><p> 2.數(shù)據(jù)庫(kù)(database,縮寫(xiě)為DB)</p><p> 數(shù)據(jù)庫(kù),可以直觀地理解為存放數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)是在計(jì)算機(jī)的大容量存儲(chǔ)器上,如硬盤(pán)就是一類最常見(jiàn)計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的
22、格式存放,因?yàn)樗粌H需要存放,而且還要便于查找。所以可以認(rèn)為數(shù)據(jù)是被長(zhǎng)期存放在計(jì)算機(jī)內(nèi)、有組織的、可以表現(xiàn)為多種形式的可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)技術(shù)使數(shù)據(jù)能按一定格式組織、描述和存儲(chǔ),且具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為多個(gè)用戶所共享。</p><p> 1.2.2 數(shù)據(jù)庫(kù)管理系統(tǒng)</p><p> 利用計(jì)算機(jī)有效地組織和存儲(chǔ)數(shù)據(jù)、獲取和管理數(shù)據(jù)就是數(shù)據(jù)庫(kù)管理系統(tǒng)(da
23、ta base management system,縮寫(xiě)為DBMS),它屬于一類計(jì)算機(jī)系統(tǒng)軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之上的一層數(shù)據(jù)管理軟件,它的主要功能包括以下幾個(gè)方面:</p><p><b> 1.?dāng)?shù)據(jù)定義功能</b></p><p> DBMS提供數(shù)據(jù)定義語(yǔ)言(data definition language,縮寫(xiě)為DDL),用戶通過(guò)它可以方便
24、地對(duì)數(shù)據(jù)庫(kù)中的相關(guān)內(nèi)容進(jìn)行定義,如對(duì)數(shù)據(jù)庫(kù)、基本表、視圖和索引進(jìn)行定義。</p><p><b> 2.數(shù)據(jù)操縱功能</b></p><p> DBMS向用戶提供數(shù)據(jù)操縱語(yǔ)言(data manipulation language, 縮寫(xiě)為DML),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,如對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢、插入、刪除和修改。</p><p> 3.數(shù)
25、據(jù)庫(kù)的運(yùn)行管理</p><p> 這是DBMS的核心部分,它包括并發(fā)控制,即處理多個(gè)用戶同時(shí)使用某些數(shù)據(jù)時(shí)可能產(chǎn)生的問(wèn)題、安全性檢查、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫(kù)的內(nèi)部維護(hù)(如索引、數(shù)據(jù)字典的自動(dòng)維護(hù))等。所有數(shù)據(jù)庫(kù)的操作都要在這些控制程序的統(tǒng)一管理下進(jìn)行,以保證數(shù)據(jù)的安全性、完整性以及多個(gè)用戶對(duì)數(shù)據(jù)庫(kù)的并發(fā)使用。</p><p> 4.數(shù)據(jù)庫(kù)的建立和維護(hù)功能</p>
26、<p> 包括:數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫(kù)的重新組織功能和性能監(jiān)視、分析功能等,這些功能通常是由一些實(shí)用程序完成的,它是數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)重要組成部分。</p><p><b> 5.數(shù)據(jù)字典</b></p><p> 數(shù)據(jù)字典(data dictionary,縮寫(xiě)為DD)是存放數(shù)據(jù)庫(kù)各級(jí)模式結(jié)構(gòu)的描述,也是訪
27、問(wèn)數(shù)據(jù)庫(kù)的接口。在大型系統(tǒng)中,DD也可單獨(dú)成為一個(gè)系統(tǒng)。</p><p><b> 6.數(shù)據(jù)通信功能</b></p><p> 包括與OS的聯(lián)機(jī)處理、分時(shí)處理和遠(yuǎn)程作業(yè)傳輸?shù)南鄳?yīng)接口等,這一功能對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)尤為重要。</p><p> 1.2.3 數(shù)據(jù)庫(kù)系統(tǒng)</p><p> 數(shù)據(jù)庫(kù)系統(tǒng)(data base
28、 system,縮寫(xiě)為DBS)通常是指帶有數(shù)據(jù)庫(kù)的計(jì)算機(jī)應(yīng)用系統(tǒng),因此,數(shù)據(jù)庫(kù)系統(tǒng)不僅包括數(shù)據(jù)庫(kù)本身,即實(shí)際存儲(chǔ)在計(jì)算機(jī)中的數(shù)據(jù),還包括相應(yīng)的硬件、軟件。 </p><p><b> 1.硬件</b></p><p> 由于一般數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)量很大,加之DBMS豐富的強(qiáng)有力的功能使得自身的體積就很大,因此整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)硬件資源提出了較高的要求,這些要求是:<
29、;/p><p> (1)有足夠大的內(nèi)存以存放操作系統(tǒng)、DBMS的核心模塊,數(shù)據(jù)緩沖區(qū)和應(yīng)用程序。</p><p> (2)有足夠大的直接存取設(shè)備存放數(shù)據(jù)(如磁盤(pán)),有足夠的磁帶或其它存儲(chǔ)設(shè)備來(lái)進(jìn)行數(shù)據(jù)備份。</p><p> (3)要求計(jì)算機(jī)有較高的數(shù)據(jù)傳輸能力</p><p><b> 2.軟件</b></p
30、><p> 數(shù)據(jù)庫(kù)系統(tǒng)的軟件主要包括:</p><p> (1)DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心軟件,它實(shí)現(xiàn)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)。</p><p> (2)支持DBMS運(yùn)行的操作系統(tǒng)。通常,DBMS運(yùn)行時(shí)都是基于某一操作系統(tǒng)并通過(guò)操作系統(tǒng)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取。</p><p> (3)一般來(lái)講,數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)處理能力較弱,所以需要提供與
31、數(shù)據(jù)庫(kù)接口的高級(jí)語(yǔ)言及其編譯系統(tǒng),以便于開(kāi)發(fā)應(yīng)用程序。這種高級(jí)語(yǔ)言稱為“數(shù)據(jù)庫(kù)的主語(yǔ)言”。</p><p> (4)以DBMS為核心的應(yīng)用開(kāi)發(fā)工具。應(yīng)用開(kāi)發(fā)工具是系統(tǒng)為應(yīng)用開(kāi)發(fā)人員和最終用戶提供的高效率,多功能的應(yīng)用生成器、第四代語(yǔ)言等各種軟件工具,如報(bào)表生成系統(tǒng)、表格軟件,圖形系統(tǒng)等。它們?yōu)閿?shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)和應(yīng)用提供了有力的支持。</p><p> (5)為特定應(yīng)用開(kāi)發(fā)的數(shù)據(jù)庫(kù)應(yīng)用軟
32、件。數(shù)據(jù)庫(kù)軟件為數(shù)據(jù)的定義、存儲(chǔ)、查詢和修改提供支持,而數(shù)據(jù)庫(kù)應(yīng)用軟件是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行處理和加工的軟件,它面向特定應(yīng)用,如基于數(shù)據(jù)庫(kù)的各種管理軟件、管理信息系統(tǒng)(MIS)、決策支持系統(tǒng)(DSS)和辦公自動(dòng)化(OA)等都屬于數(shù)據(jù)庫(kù)應(yīng)用軟件。</p><p><b> 3.數(shù)據(jù)</b></p><p> 數(shù)據(jù)是數(shù)據(jù)庫(kù)基本組成內(nèi)容,是對(duì)客觀世界所存在事物的一種表征
33、,也是數(shù)據(jù)庫(kù)用戶操作的對(duì)象。數(shù)據(jù)是數(shù)據(jù)庫(kù)系統(tǒng),也是企業(yè)或組織的真正的財(cái)富。數(shù)據(jù)應(yīng)按照需求進(jìn)行采集并有結(jié)構(gòu)地存入數(shù)據(jù)庫(kù)。由于數(shù)據(jù)類型多樣性,數(shù)據(jù)的采集方式和存儲(chǔ)方式也會(huì)不同。數(shù)據(jù)作為一種資源是數(shù)據(jù)庫(kù)系統(tǒng)最穩(wěn)定的成分,即硬件可能更新,甚至軟件也可以更換,但只要企業(yè)或組織的性質(zhì)不改變,數(shù)據(jù)將是可以長(zhǎng)期使用的財(cái)富。</p><p> 第2章. 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)方案設(shè)計(jì)</p><p> 2.1
34、數(shù)據(jù)模型的確定</p><p> 數(shù)據(jù)模型(Data Model)以實(shí)際事物的數(shù)據(jù)特征的抽象來(lái)刻畫(huà)事物,描述的是事物數(shù)據(jù)的表征及其特性。在數(shù)據(jù)庫(kù)中是用數(shù)據(jù)模型對(duì)現(xiàn)實(shí)世界進(jìn)行抽象的,現(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)均是基于某種數(shù)據(jù)模型的。</p><p> 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)是倉(cāng)庫(kù)設(shè)備所涉及的數(shù)據(jù)的提取和綜合,它不僅反映數(shù)據(jù)本身,而且反映數(shù)據(jù)之間的聯(lián)系,也是事物之間的聯(lián)系的反映。如何在數(shù)據(jù)庫(kù)系統(tǒng)的形式化結(jié)構(gòu)
35、中抽象表示和處理倉(cāng)庫(kù)中設(shè)備的數(shù)據(jù)是非常重要的問(wèn)題。</p><p> 數(shù)據(jù)庫(kù)領(lǐng)域中過(guò)去和現(xiàn)在最常見(jiàn)的數(shù)據(jù)模型有三種,它們是:層次模型(Hierachical Model),網(wǎng)狀模型(Network Model)和關(guān)系模型(Relational Model)。其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型,在關(guān)系模型出現(xiàn)以前,它們是常用的數(shù)據(jù)模型。關(guān)系模型是目前數(shù)據(jù)庫(kù)領(lǐng)域所討論的模型中最重要的模型。</p>
36、<p> 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)數(shù)據(jù)模型采用關(guān)系模型,既用二維表結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間的聯(lián)系。如表2-1</p><p> 表2-1 倉(cāng)庫(kù)設(shè)備信息表</p><p> 2.2運(yùn)行環(huán)境和開(kāi)發(fā)工具</p><p><b> 1.運(yùn)行環(huán)境</b></p><p> 隨著數(shù)據(jù)庫(kù)應(yīng)用的日益廣泛,數(shù)據(jù)庫(kù)產(chǎn)品市場(chǎng)呈現(xiàn)非常
37、繁榮的景象。目前的關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品基本可分為桌面數(shù)據(jù)庫(kù)和大型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)兩大類。本系統(tǒng)采用桌面數(shù)據(jù)庫(kù)方式,利用學(xué)?,F(xiàn)有軟硬件資源,運(yùn)行于PC機(jī)的windows98/2000/xp下,具有對(duì)硬件要求低、容易操作、開(kāi)發(fā)成本低等特點(diǎn)。</p><p><b> 2.開(kāi)發(fā)工具</b></p><p> 本系統(tǒng)使用Visual Basic 6.0和SQLSever作為開(kāi)發(fā)工
38、具。</p><p> Visual Basic是一個(gè)通用程序開(kāi)發(fā)工具,但具有強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)能力,可以通過(guò)Microsoft數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象ADO訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象,而且由于其本身的優(yōu)點(diǎn)(如可視化編程、面向?qū)ο?、事件?qū)動(dòng)、結(jié)構(gòu)化程序設(shè)計(jì)、集成的開(kāi)發(fā)環(huán)境),常常被用于數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)。Visual Basic提供了管理數(shù)據(jù)庫(kù)對(duì)象和創(chuàng)建報(bào)表的工具,并且使用簡(jiǎn)單方便。隨著Microsoft不斷地推出Visual Ba
39、sic的新版本,Visual Basic對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和編程也變得越來(lái)越容易,而且支持多種數(shù)據(jù)庫(kù)系統(tǒng)的訪問(wèn),是一個(gè)很好的數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)工具。</p><p> SQLSever是Microsoft公司另一個(gè)成功的數(shù)據(jù)庫(kù)產(chǎn)品。SQLSever本身是一個(gè)可視化的數(shù)據(jù)庫(kù)管理系統(tǒng),提供了很多非常實(shí)用的向?qū)В鯇W(xué)者也很容易學(xué)會(huì)如何用SQLSever建立數(shù)據(jù)庫(kù)的各種對(duì)象,如創(chuàng)建表、查詢和報(bào)表等。SQLSever使用內(nèi)嵌
40、Visual Basic語(yǔ)言作為開(kāi)發(fā)工具,完全面向?qū)ο缶幊?,可以可視化地?chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。SQLSever數(shù)據(jù)庫(kù)是目前應(yīng)用十分廣泛的桌面型關(guān)系數(shù)據(jù)庫(kù),它主要應(yīng)用于各種中小型的管理信息系統(tǒng)中,雖然它無(wú)法支持較大數(shù)據(jù)量,不支持?jǐn)?shù)據(jù)庫(kù)的高級(jí)特性(并發(fā)訪問(wèn)、事務(wù)處理等),但是它快速、小巧、靈活,經(jīng)常被小型信息管理系統(tǒng)作為后臺(tái)數(shù)據(jù)庫(kù)。</p><p><b> 2.3 基本組成</b></p
41、><p> 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)應(yīng)用程序的主要作用是存放數(shù)據(jù)、從數(shù)據(jù)庫(kù)中檢索和統(tǒng)計(jì)數(shù)據(jù),以得到各種各樣的信息。本系統(tǒng)完整的數(shù)據(jù)庫(kù)應(yīng)用程序按照功能可分為四個(gè)部分的內(nèi)容:數(shù)據(jù)庫(kù)(單表);應(yīng)用程序窗體;查詢和更新;報(bào)表和圖表(儀器領(lǐng)用單)。</p><p> 數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用程序的基礎(chǔ),主要用來(lái)存放原始數(shù)據(jù)。一般來(lái)說(shuō)。用戶不直接對(duì)原始數(shù)據(jù)進(jìn)行操作。如果需要檢索和更新數(shù)據(jù),先用查詢將數(shù)據(jù)檢索出來(lái)放在緩
42、沖區(qū)或臨時(shí)表中,用戶對(duì)緩沖區(qū)和臨時(shí)表中的數(shù)據(jù)進(jìn)行操作,在所有的操作完成后,再將數(shù)據(jù)的更改更新到數(shù)據(jù)庫(kù)中。窗體用來(lái)完成用戶和數(shù)據(jù)庫(kù)之間、與程序之間交互。報(bào)表和圖表的數(shù)據(jù)來(lái)自查詢和統(tǒng)計(jì),是定制的。它們之間的相互作用如圖2-1所示。</p><p> 圖2-1數(shù)據(jù)庫(kù)應(yīng)用程序的基本組成</p><p> 第3章 倉(cāng)庫(kù)設(shè)備數(shù)據(jù)庫(kù)開(kāi)發(fā)設(shè)計(jì)</p><p> 3.1 設(shè)計(jì)方
43、法和步驟</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是開(kāi)發(fā)數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),也是本系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分。具體說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境中,通過(guò)合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),滿足用戶的各種信息需求。</p><p> 這里從數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)和開(kāi)發(fā)的全過(guò)程來(lái)考慮,根據(jù)本系統(tǒng)的實(shí)際情況,將數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)階段:需
44、求分析,功能模塊設(shè)計(jì),創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建應(yīng)用工程文件,創(chuàng)建應(yīng)用窗體文件,創(chuàng)建應(yīng)用文件包。</p><p><b> 3.2 需求分析</b></p><p> 在設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)之前,首先要對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)目的和應(yīng)用背景進(jìn)行分析。在進(jìn)行設(shè)計(jì)目的分析時(shí),應(yīng)搞清楚該數(shù)據(jù)庫(kù)要解決一個(gè)什么樣的問(wèn)題、需要存儲(chǔ)哪些數(shù)據(jù)、能夠提供哪些信息、完成哪些自動(dòng)化功能等。應(yīng)用背景指數(shù)據(jù)庫(kù)應(yīng)用于
45、一個(gè)什么樣場(chǎng)合。在對(duì)本系統(tǒng)應(yīng)用環(huán)境和需求進(jìn)行收集和分析后所形成的抽象的系統(tǒng)概貌圖如圖3-1。</p><p> 圖3-1 系統(tǒng)概貌圖</p><p> 本系統(tǒng)是為倉(cāng)庫(kù)開(kāi)發(fā)的設(shè)備管理系統(tǒng),根據(jù)任務(wù)書(shū)的要求,應(yīng)設(shè)計(jì)一個(gè)可行的數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)管理系統(tǒng)。該數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)具有:</p><p> 數(shù)據(jù)查詢功能(多種關(guān)鍵詞查詢 );</p><p&
46、gt; 數(shù)據(jù)更新功能(修改, 增加, 刪除等);</p><p><b> 數(shù)據(jù)安全性設(shè)計(jì)。</b></p><p> 概括層的數(shù)據(jù)流圖如圖3-2</p><p><b> 3-2 數(shù)據(jù)流圖</b></p><p> 采購(gòu)部門(mén):負(fù)責(zé)采購(gòu)儀器設(shè)備,將儀器設(shè)備的相關(guān)信息提供給實(shí)驗(yàn)室。<
47、/p><p> 倉(cāng)庫(kù)管理系統(tǒng):負(fù)責(zé)儀器的統(tǒng)一管理。通過(guò)該系統(tǒng)可以直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,進(jìn)行業(yè)務(wù)處理,以記錄每套儀器設(shè)備的相關(guān)信息;負(fù)責(zé)儀器設(shè)備的配入與發(fā)放,并記錄儀器的發(fā)放與歸還。</p><p> 領(lǐng)用人(1、2、3……n):領(lǐng)用人領(lǐng)用設(shè)備時(shí)要作相應(yīng)記錄,以便管理部門(mén)可以查詢每套儀器的情況。</p><p> 3.3 功能模塊設(shè)計(jì)</p><
48、p> 在軟件設(shè)計(jì)中,程序設(shè)計(jì)分為兩個(gè)階段完成,首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),以確定程序由那些模塊組成,然后進(jìn)行過(guò)程設(shè)計(jì),過(guò)程設(shè)計(jì)是確定每個(gè)模塊的處理過(guò)程。</p><p> 本系統(tǒng)共有兩個(gè)數(shù)據(jù)庫(kù),一個(gè)是儀器性能指標(biāo)數(shù)據(jù)庫(kù),另一個(gè)是用戶標(biāo)識(shí)和鑒定數(shù)據(jù)庫(kù)。設(shè)計(jì)中規(guī)定了數(shù)據(jù)庫(kù)的結(jié)構(gòu)(表、記錄、字段、關(guān)鍵字)、制訂了數(shù)據(jù)所應(yīng)滿足的條件、規(guī)定了用戶的使用密碼和用戶名,幫助用戶方便地對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行操作。</p>
49、<p> 以下是本系統(tǒng)的功能模塊圖3-3。</p><p> 圖3-3 系統(tǒng)功能模塊圖</p><p> 在數(shù)據(jù)庫(kù)管理系統(tǒng)的應(yīng)用程序中有十個(gè)應(yīng)用窗體文件,分別是:</p><p> 1、用戶登陸應(yīng)用窗體文件,完成用戶登錄進(jìn)入管理系統(tǒng)的功能;</p><p> 2、修改用戶應(yīng)用窗體文件,完成對(duì)已有記載的用戶進(jìn)行密碼重新設(shè)
50、定的功能。</p><p> 3、添加用戶應(yīng)用窗體文件,完成添加用戶信息功能,記錄用戶名和用戶密碼;</p><p> 4、刪除用戶應(yīng)用窗體文件,完成刪除用戶信息功能;</p><p> 5、信息管理和用戶管理的主窗體,完成用戶對(duì)系統(tǒng)功能的全局控制;</p><p> 6、查詢信息應(yīng)用窗體文件,完成通過(guò)儀器編號(hào)和名稱對(duì)儀器進(jìn)行查詢的功
51、能;</p><p> 7、修改信息應(yīng)用窗體文件,完成修改儀器設(shè)備信息的功能;</p><p> 8、添加信息應(yīng)用窗體文件,完成信息的添加功能;</p><p> 9、刪除信息應(yīng)用窗體文件,完成刪除儀器設(shè)備信息的功能;</p><p> 10、報(bào)表信息應(yīng)用窗體文件,完成報(bào)表提交功能。</p><p><b
52、> 3.4 創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p> 在使用Visual Basic開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí),其后臺(tái)數(shù)據(jù)庫(kù)可以選用多種格式,本系統(tǒng)使用Microsoft Access的數(shù)據(jù)庫(kù)格式,因?yàn)镾QLSever數(shù)據(jù)庫(kù)和Visual Basic數(shù)據(jù)庫(kù)都是Microsoft Jet數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)對(duì)象的層次結(jié)構(gòu)和編程方法是完全相同的,用SQLSever創(chuàng)建的數(shù)據(jù)庫(kù)可以原封不動(dòng)地用到Visual B
53、asic應(yīng)用程序中。</p><p> SQLSever數(shù)據(jù)庫(kù)表的建立方法是:準(zhǔn)備好設(shè)計(jì)資料,先在紙上設(shè)計(jì)好數(shù)據(jù)庫(kù)的結(jié)構(gòu),即由哪幾個(gè)表組成,每個(gè)表包含哪幾個(gè)字段,各個(gè)字段的屬性如何,哪個(gè)字段是關(guān)鍵字,共有多少個(gè)記錄。下面介紹本系統(tǒng)中兩個(gè)數(shù)據(jù)庫(kù)的創(chuàng)建方法。</p><p> 3.4.1創(chuàng)建設(shè)備數(shù)據(jù)庫(kù)</p><p> 本系統(tǒng)的儀器數(shù)據(jù)庫(kù)是用Microsoft S
54、QLSever創(chuàng)建的。下面示例的表中主關(guān)鍵字是“Number”。 </p><p><b> 創(chuàng)建步驟如下:</b></p><p> 創(chuàng)建一個(gè)新的空數(shù)據(jù)庫(kù),確定數(shù)據(jù)庫(kù)的名稱及數(shù)據(jù)庫(kù)的保存類型;</p><p> 向空數(shù)據(jù)庫(kù)添加表,將數(shù)據(jù)進(jìn)行分類和量化,并設(shè)置表單的主鍵;使數(shù)據(jù)便于計(jì)算機(jī)處理。列出每一個(gè)表所包含的數(shù)據(jù)字段名稱,確定每個(gè)字段
55、的數(shù)據(jù)類型和字段大??;</p><p> 在表單中輸入和修改數(shù)據(jù);</p><p><b> 保存數(shù)據(jù)庫(kù)。</b></p><p><b> 如圖3-4所示:</b></p><p> 圖3-4 創(chuàng)建關(guān)鍵字為“Number”的表</p><p><b>
56、其E—R圖為:</b></p><p> 圖3-5 倉(cāng)庫(kù)設(shè)備E-R圖</p><p> 3.4.2創(chuàng)建用戶信息數(shù)據(jù)庫(kù)</p><p> 安全性問(wèn)題是所有計(jì)算機(jī)系統(tǒng)都有的問(wèn)題,只是在數(shù)據(jù)庫(kù)系統(tǒng)中大量數(shù)據(jù)集中存放,而且是多用戶共享,使安全性問(wèn)題更為突出。數(shù)據(jù)庫(kù)安全與恢復(fù)是數(shù)據(jù)庫(kù)保護(hù)的組成部分,數(shù)據(jù)庫(kù)保護(hù)一般包括四個(gè)方面的內(nèi)容,其中安全性主要是對(duì)用戶的存
57、取數(shù)據(jù)庫(kù)中數(shù)據(jù)權(quán)限的控制,以保證數(shù)據(jù)庫(kù)的安全和保密。本系統(tǒng)根據(jù)任務(wù)書(shū)的要求,主要是對(duì)數(shù)據(jù)庫(kù)的安全性進(jìn)行了設(shè)計(jì)。</p><p> 在計(jì)算機(jī)系統(tǒng)中,一般說(shuō)來(lái)安全措施是分級(jí)設(shè)置的,本系統(tǒng)安全性設(shè)計(jì)中采用的是用戶標(biāo)識(shí)和鑒定。用戶標(biāo)識(shí)和鑒定是系統(tǒng)提供的最外層的安全保護(hù)措施,其方法是由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份,每次用戶要進(jìn)入系統(tǒng)時(shí),系統(tǒng)對(duì)用戶身份進(jìn)行核實(shí),通過(guò)鑒定后才提供系統(tǒng)使用權(quán)。本系統(tǒng)采用的方法具
58、體是:用一個(gè)用戶名來(lái)標(biāo)明用戶身份,系統(tǒng)鑒別此用戶是否是合法的用戶,若是,則可進(jìn)入下一步的核實(shí);若不是,則不能使用系統(tǒng)。為了進(jìn)一步核實(shí)用戶,系統(tǒng)要求用戶輸入密碼,為保密起見(jiàn),用戶在終端上輸入的口令不顯示在屏幕上,系統(tǒng)核定密碼以鑒別用戶身份。</p><p><b> 其E—R圖為:</b></p><p> 圖3-6 用戶信息E-R圖</p><
59、p> 3.5創(chuàng)建應(yīng)用工程文件</p><p> 本系統(tǒng)的應(yīng)用工程文件是用Visual Basic6.0創(chuàng)建的,選定“標(biāo)準(zhǔn)的可執(zhí)行文件”單擊“打開(kāi)”進(jìn)入工程的窗體文件設(shè)計(jì)。 </p><p> 3.6用戶管理模塊設(shè)計(jì)</p><p> 用戶管理模塊主要實(shí)現(xiàn):</p><p><b> 1.用戶登錄。</b>
60、</p><p><b> 2.修改密碼。</b></p><p><b> 3.添加用戶。</b></p><p><b> 4.刪除用戶</b></p><p><b> 3.6.1用戶登錄</b></p><p>
61、系統(tǒng)啟動(dòng)后,將首先出現(xiàn)如圖所示的用戶登錄窗體,用戶首先輸入用戶名,然后輸入密碼。如果用戶3次輸入密碼不正確,將退出程序。如圖3-7:</p><p> 圖3-7 用戶登錄窗口</p><p> 用戶登錄窗體中放置了二個(gè)文本框(TextBox),用來(lái)輸入用戶名和用戶密碼:二個(gè)按鈕(CommandButton)用來(lái)確定或者取消登錄:三個(gè)標(biāo)簽(Label)用來(lái)標(biāo)示窗體的信息。</p&g
62、t;<p> 為窗體定義全局變量ok,用來(lái)判斷登錄是否成功,定義micount,用來(lái)記載輸入密碼的次數(shù),并且在載入窗體時(shí)初始化這二個(gè)全局變量,代碼如下:</p><p> Option Explicit</p><p> Public OK As Boolean</p><p><b> 記錄確定次數(shù)</b></p&
63、gt;<p> Dim miCount As Integer</p><p> Private Sub Form_Load()</p><p> OK = False</p><p> miCount = 0</p><p><b> End Sub</b></p><p>
64、; 當(dāng)用戶輸入用戶名和密碼后,單擊cmdok按鈕將對(duì)用戶信息進(jìn)行判斷。用戶單擊該按鈕,將觸發(fā)該按鈕cmdok的click事件,代碼如下:</p><p> Dim txtSQL As String</p><p> Dim mrc As ADODB.Recordset</p><p> Dim MsgText As String</p><
65、;p> 'ToDo: create test for correct password</p><p> 'check for correct password </p><p> UserName = ""</p><p> If Trim(txtUserName.Text = "") Then
66、</p><p> MsgBox "沒(méi)有這個(gè)用戶,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"</p><p> txtUserName.SetFocus</p><p><b> Else</b></p><p> txtSQL =
67、 "select * from user_Info where user_ID = '" & txtUserName.Text & " ' "</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> If mrc.EOF = True Then</p&g
68、t;<p> MsgBox "沒(méi)有這個(gè)用戶,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"</p><p> txtUserName.SetFocus</p><p><b> Else</b></p><p> If Trim(mrc.Fiel
69、ds(1)) = Trim(txtPassword.Text) Then</p><p><b> OK = True</b></p><p><b> mrc.Close</b></p><p><b> Me.Hide</b></p><p> UserName =
70、 Trim(txtUserName.Text)</p><p><b> Else</b></p><p> MsgBox "輸入密碼不正確,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "警告"</p><p> txtPassword.SetFocus</p>
71、<p> txtPassword.Text = ""</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p> miCount =
72、 miCount + 1</p><p> If miCount = 3 Then</p><p><b> Me.Hide</b></p><p><b> End If</b></p><p><b> Exit Sub</b></p><p&g
73、t; 用戶如果沒(méi)有輸入用戶名和用戶密碼,將出現(xiàn)消息框提示,如果輸入的用戶名在用戶表中沒(méi)有找到,將提示重新輸入用戶名,文本框txtusername將重新獲得輸入焦點(diǎn)。如果用戶輸入的密碼不正確,文本框txtpassword將重新獲得輸入焦點(diǎn)。用戶登錄成功,全局變量ok將被賦值為true。一旦三次輸入密碼均不正確,全局變量ok將被賦值為false。公用模塊中的main()過(guò)程將根據(jù)ok的值來(lái)決定是退出,還是進(jìn)入系統(tǒng)。</p>
74、<p> 如果用戶取消登錄,單擊cmdcancel按鈕,將觸發(fā)按鈕的click事件,代碼如下:</p><p> OK = False</p><p><b> Me.Hide</b></p><p><b> 3.6.2修改密碼</b></p><p> 用戶可以修改自己的密碼
75、,選擇菜單“系統(tǒng) 修改密碼”出現(xiàn)如圖所示的窗體:</p><p> 圖3-8 修改密碼窗口</p><p> 在這個(gè)窗體中放置了三個(gè)文本框,用來(lái)輸入舊密碼,新密碼和確認(rèn)密碼,二個(gè)按鈕按鈕用來(lái)確定是否修改密碼,三個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的內(nèi)容。</p><p> 二次輸入密碼后,單擊cmdok按鈕,將觸發(fā)click事件判斷是否修改密碼。代碼如下:</p>
76、<p> Private Sub cmdOK_Click()</p><p> Dim txtSQL, MsgText As String</p><p> Dim mrc As ADODB.Recordset </p><p> If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then&
77、lt;/p><p> MsgBox "密碼輸入不正確!", vbOKOnly + vbExclamation, "警告"</p><p> Text1(1).SetFocus</p><p> Text1(1).Text = ""</p><p><b> Else&l
78、t;/b></p><p> txtSQL = "select * from user_Info where user_ID = '" & UserName & "'"</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> m
79、rc.Fields(1) = Text1(1).Text</p><p> mrc.Update</p><p><b> mrc.Close</b></p><p> MsgBox "密碼修改成功!", vbOKOnly + vbExclamation, "修改密碼"</p><
80、;p><b> Me.Hide</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p><b> 3.6.3添加用戶</b></p><p> 進(jìn)入系統(tǒng)后,選擇菜單“系統(tǒng) 添
81、加用戶”,就可以添加用戶,出現(xiàn)添加用戶的窗體:</p><p> 圖3-9 添加用戶窗口</p><p> 在這個(gè)窗體中放置了三個(gè)文本框,用來(lái)輸入用戶名,密碼和確認(rèn)密碼,二個(gè)按鈕用來(lái)確定是否修改密碼,三個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的內(nèi)容。</p><p> 二次輸入密碼后,單擊cmdok按鈕,將觸發(fā)click事件判斷是否修改密碼,代碼如下:</p>&l
82、t;p> Private Sub cmdOK_Click()</p><p> Dim txtSQL As String</p><p> Dim mrc As ADODB.Recordset</p><p> Dim MsgText As String </p><p> If Trim(Text1(0).Text) =
83、"" Then</p><p> MsgBox "請(qǐng)輸入用戶名稱!", vbOKOnly + vbExclamation, "警告"</p><p><b> Exit Sub</b></p><p> Text1(0).SetFocus</p><p>
84、<b> Else</b></p><p> txtSQL = "select * from user_Info "</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> While (mrc.EOF = False)</p><p>
85、 If Trim(mrc.Fields(0)) = Trim(Text1(0)) Then</p><p> MsgBox "用戶已經(jīng)存在,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"</p><p> Text1(0).SetFocus</p><p> Text1(0).Te
86、xt = ""</p><p> Text1(1).Text = ""</p><p> Text1(2).Text = ""</p><p><b> Exit Sub</b></p><p><b> Else</b></
87、p><p> mrc.MoveNext</p><p><b> End If</b></p><p><b> Wend</b></p><p><b> End If</b></p><p> If Trim(Text1(1).Text) &l
88、t;> Trim(Text1(2).Text) Then</p><p> MsgBox "兩次輸入密碼不一樣,請(qǐng)確認(rèn)!", vbOKOnly + vbExclamation, "警告"</p><p> Text1(1).SetFocus</p><p> Text1(1).Text = ""
89、</p><p> Text1(2).Text = ""</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> If Text1(1).Text = "" Then</p>&l
90、t;p> MsgBox "密碼不能為空!", vbOKOnly + vbExclamation, "警告"</p><p> Text1(1).SetFocus</p><p> Text1(1).Text = ""</p><p> Text1(2).Text = ""&
91、lt;/p><p><b> Else</b></p><p> mrc.AddNew</p><p> mrc.Fields(0) = Trim(Text1(0).Text)</p><p> mrc.Fields(1) = Trim(Text1(1).Text)</p><p> mrc
92、.Update</p><p><b> mrc.Close</b></p><p><b> Me.Hide</b></p><p> MsgBox "添加用戶成功!", vbOKOnly + vbExclamation, "添加用戶"</p><p>
93、;<b> End If</b></p><p><b> End If</b></p><p> 一旦輸入完畢,系統(tǒng)將首先查詢數(shù)據(jù)庫(kù)中與新建用戶名相同的記錄,如果有相同記錄將提示用戶重新輸入用戶名。當(dāng)確定數(shù)據(jù)庫(kù)中沒(méi)有相同的用戶名,并且二次輸入密碼一致時(shí),將把該條記錄添加到數(shù)據(jù)庫(kù)中。</p><p> 單擊cmdc
94、ancle按鈕將取消添加用戶的操作。代碼如下:</p><p> Private Sub cmdCancel_Click( )</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p><b> 3.6.4刪除用戶<
95、;/b></p><p> 進(jìn)入系統(tǒng)后,選擇菜單“系統(tǒng) 刪除用戶”,就可以刪除用戶,出現(xiàn)刪除用戶的窗體:</p><p> 圖3-10 刪除用戶窗口</p><p> 在這個(gè)窗體中放置了二個(gè)文本框,用來(lái)輸入用戶名和密碼,二個(gè)按鈕用來(lái)確定是否修改密碼,三個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的內(nèi)容。</p><p> 輸入信息后,單擊cmdok按鈕
96、,將觸發(fā)click事件判斷是否刪除用戶。代碼如下:</p><p> Dim denglu As New ADODB.Connection</p><p> Dim rstdenglu As New ADODB.Recordset</p><p> Private Sub Command1_Click()</p><p> If Te
97、xt1.Text = "" Then</p><p> MsgBox "請(qǐng)輸入用戶名", vbOKOnly, "警告"</p><p> Text1.SetFocus</p><p><b> End If</b></p><p> If Text2.T
98、ext = "" Then</p><p> MsgBox "請(qǐng)輸入密碼", vbOKOnly, "警告"</p><p> Text2.SetFocus</p><p><b> End If</b></p><p> rstdenglu.MoveFi
99、rst</p><p> rstdenglu.Find ("yonghuming = '" + Text1.Text + "'")</p><p> If rstdenglu.EOF Then</p><p> MsgBox "用戶名不存在,請(qǐng)重新輸入用戶名", vbOKOnly, &
100、quot;警告"</p><p> Text1.SetFocus</p><p><b> Else</b></p><p> If rstdenglu.Fields("mima") <> Trim(Text2.Text) Then</p><p> Text2.Text
101、 = ""</p><p> MsgBox "請(qǐng)輸入正確的密碼!", vbOKOnly, "警告"</p><p><b> Else</b></p><p> If (vbYes = MsgBox("您確定要?jiǎng)h除該用戶嗎?", vbYesNo + vbQue
102、stion, "信息提示")) Then</p><p> rstdenglu.Delete</p><p> Call Command2_Click</p><p> MsgBox "刪除信息成功!", vbOKOnly + vbExclamation, "信息提示"</p><
103、p> rstdenglu.Close</p><p> denglu.Close</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p&g
104、t;<b> End Sub</b></p><p> Private Sub Command2_Click()</p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><p><b> End Sub<
105、/b></p><p> Private Sub Form_Load()</p><p> Set denglu = New ADODB.Connection</p><p> denglu.CursorLocation = adUseClient</p><p> denglu.Open "Provider=Micr
106、osoft.Jet.OLEDB.4.0;User ID=admin;Data Source=F:\倉(cāng)庫(kù)管理系統(tǒng)\yonghuxinxi.mdb;Persist Security Info=False"</p><p> Set rstdenglu = New ADODB.Recordset</p><p> Set rstdenglu.ActiveConnection = d
107、englu</p><p> rstdenglu.Open "select * from yonghuxinxi", denglu, adOpenStatic, adLockOptimistic</p><p><b> End Sub</b></p><p> 3.7信息管理模塊設(shè)計(jì)</p><p
108、> 3.7.1創(chuàng)建倉(cāng)庫(kù)管理系統(tǒng)主窗體(mainform.frm)</p><p> 在visual basic中新建一個(gè)form。從工具箱中選擇相應(yīng)控件將其添加到窗體中,根據(jù)需要設(shè)置其各項(xiàng)屬性。當(dāng)用戶登錄進(jìn)系統(tǒng),將進(jìn)入倉(cāng)庫(kù)系統(tǒng)的主窗體,如圖3-11:</p><p> 圖3-11 倉(cāng)庫(kù)管理系統(tǒng)主窗體</p><p> 3.7.2創(chuàng)建查詢信息窗體(for
109、mchaxun.frm)</p><p> 在visual basic中新建一個(gè)form,保存為formchaxun.frm。從工具箱中選擇相應(yīng)控件將其添加到窗體中,根據(jù)需要設(shè)置其各項(xiàng)屬性。如圖3-12:</p><p> 圖3-12 查詢信息窗體</p><p> 當(dāng)用戶需要查詢某個(gè)設(shè)備時(shí),只需要輸入該設(shè)備的 設(shè)備名稱 或者 設(shè)備編號(hào) ,如果該設(shè)備存在,則會(huì)
110、顯示該設(shè)備的詳細(xì)信息,否則顯示輸入錯(cuò)誤。其流程圖如下:</p><p> 圖3-13 信息查詢流程圖</p><p> 3.7.3創(chuàng)建添加信息窗體(formtianjia.frm)</p><p> 在visual basic中新建一個(gè)form,保存為formtianjia.frm。從工具箱中選擇相應(yīng)控件將其添加到窗體中,根據(jù)需要設(shè)置其各項(xiàng)屬性。如圖3-14&
111、lt;/p><p> 圖3-14 添加信息窗體</p><p> 將窗體及其各控件的屬性設(shè)置完畢后,根據(jù)需要為窗體及控件添加事件處理函數(shù),程序如下:</p><p> Dim xinxi As New ADODB.Connection</p><p> Dim rstxinxi As New ADODB.Recordset</p&g
112、t;<p> Private Sub Form_Load()</p><p> Set xinxi = New ADODB.Connection</p><p> xinxi.CursorLocation = adUseClient</p><p> xinxi.Open "Provider=Microsoft.Jet.OLEDB.4
113、.0;User ID=admin;Data Source=F:\倉(cāng)庫(kù)管理系統(tǒng)\cangkuzl.mdb;Persist Security Info=False"</p><p> Set rstxinxi = New ADODB.Recordset</p><p> Set rstxinxi.ActiveConnection = xinxi</p><p&
114、gt; rstxinxi.Open "select * from yiqixinxi", xinxi, adOpenStatic, adLockOptimistic</p><p><b> End Sub</b></p><p> Private Sub a11_Click(Index As Integer)</p><
115、p> Select Case Index</p><p><b> Case 0</b></p><p><b> Unload Me</b></p><p> Load Formtianjia</p><p> Formtianjia.Show</p><p&g
116、t;<b> Case 2</b></p><p><b> Unload Me</b></p><p> Load Formxiugai</p><p> Formxiugai.Show</p><p><b> Case 3</b></p><
117、p><b> Unload Me</b></p><p> Load Formshanchu</p><p> Formshanchu.Show</p><p> End Select</p><p><b> End Sub</b></p><p> Pr
118、ivate Sub Command1_Click()</p><p> txtyqbh.Text = ""</p><p> txtflh.Text = ""</p><p> txtyqmc.Text = ""</p><p> txtxh.Text = "&qu
119、ot;</p><p> txtgg.Text = ""</p><p> txtdj.Text = ""</p><p> txtcj.Text = ""</p><p> txtgzrq.Text = ""</p><p>
120、txtxz.Text = ""</p><p> txtjsr.Text = ""</p><p> txtlyr.Text = ""</p><p> txtrksj.Text = ""</p><p><b> End Sub</b&g
121、t;</p><p> Private Sub Command2_Click()</p><p> Set xinxi = New ADODB.Connection</p><p> xinxi.CursorLocation = adUseClient</p><p> xinxi.Open "Provider=Micros
122、oft.Jet.OLEDB.4.0;User ID=admin;Data Source=F:\倉(cāng)庫(kù)管理系統(tǒng)\cangkuzl.mdb;Persist Security Info=False"</p><p> Set rstxinxi = New ADODB.Recordset</p><p> Set rstxinxi.ActiveConnection = xinxi<
123、;/p><p> rstxinxi.Open "select * from yiqixinxi", xinxi, adOpenStatic, adLockOptimistic</p><p> If Trim(txtyqbh.Text) = "" Then</p><p> MsgBox "請(qǐng)輸入儀器編號(hào)!&quo
124、t;, vbOKOnly + vbExclamation, "信息提示"</p><p> txtyqbh.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(txtyqm
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--基于vb的gis數(shù)據(jù)庫(kù)開(kāi)發(fā)
- 職業(yè)學(xué)院數(shù)據(jù)庫(kù)畢業(yè)設(shè)計(jì)論文——倉(cāng)庫(kù)管理系統(tǒng)
- 倉(cāng)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)
- 畢業(yè)設(shè)計(jì)(論文)基于vb的倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于vb的家政服務(wù)信息管理系統(tǒng)開(kāi)發(fā)
- 數(shù)據(jù)庫(kù)畢業(yè)設(shè)計(jì)外文翻譯--數(shù)據(jù)庫(kù)管理系統(tǒng)的介紹
- 畢業(yè)設(shè)計(jì)---vb倉(cāng)庫(kù)管理系統(tǒng) (2)
- 基于vb與acess數(shù)據(jù)庫(kù)艙口蓋規(guī)范計(jì)算軟件開(kāi)發(fā)【畢業(yè)設(shè)計(jì)】
- 倉(cāng)庫(kù)管理系統(tǒng)(典型數(shù)據(jù)庫(kù))
- 倉(cāng)庫(kù)管理數(shù)據(jù)庫(kù)系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--倉(cāng)庫(kù)管理系統(tǒng)
- 倉(cāng)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)
- 企業(yè)倉(cāng)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)(49058)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論