實(shí)驗(yàn)室儀器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)
實(shí)驗(yàn)室儀器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁(yè)
實(shí)驗(yàn)室儀器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁(yè)
實(shí)驗(yàn)室儀器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁(yè)
實(shí)驗(yàn)室儀器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要計(jì)算機(jī)作為一種高效的管理工具,對(duì)現(xiàn)代企業(yè)的管理發(fā)揮了極其重要的作用。本文結(jié)合實(shí)驗(yàn)室儀器管理的情況,經(jīng)過(guò)實(shí)際的需求分析,采用功能強(qiáng)大的DELPHI7作為開(kāi)發(fā)工具而開(kāi)發(fā)出來(lái)的實(shí)驗(yàn)室儀器管理系統(tǒng)。對(duì)于管理子系統(tǒng)的現(xiàn)狀進(jìn)行了概述,并根據(jù)其現(xiàn)狀提出了相應(yīng)的解決方法,而且結(jié)合用戶需求,對(duì)管理子系統(tǒng)進(jìn)行了數(shù)據(jù)流程分析。在系統(tǒng)分析的基礎(chǔ)上劃分了系統(tǒng)模塊,對(duì)數(shù)據(jù)庫(kù)、輸入輸出、代碼和界面等進(jìn)行了詳細(xì)設(shè)計(jì),通過(guò)系統(tǒng)軟硬件的準(zhǔn)備,采用Windows 2000、Microsoft SQL Server 2000和Delphi7.0的技術(shù)手段,完成了實(shí)驗(yàn)室管理信息系統(tǒng)管理子系統(tǒng)的實(shí)施。本文的目的是通過(guò)調(diào)研、分析、設(shè)

2、計(jì)和實(shí)施,完成實(shí)驗(yàn)室管理信息系統(tǒng)中管理子系統(tǒng)的開(kāi)發(fā);通過(guò)對(duì)數(shù)據(jù)高效、自動(dòng)的處理,將管理子系統(tǒng)的各個(gè)部分有機(jī)地結(jié)合在一起,實(shí)現(xiàn)數(shù)據(jù)共享,提高管理的效率。關(guān)鍵詞 系統(tǒng)設(shè)計(jì) 系統(tǒng)分析 子系統(tǒng)Title laboratory instrument management system AbstractAs an effective instrument, computer has played a very important role in the management of modern enterprises management. Considering the situation in lab

3、oratory instrument management, through the actual demand analysis, the text developed a laboratory instrument management system by function formidable DELPHI 7. This text outlined the current situation in management subsystem. Then it proposed the corresponding solution according to current situatio

4、n, and carried on the data flow analysis of data flow analysis management subsystem regarding users demand. The text divided the system module based on the system analysis, and carried detail design on database, input and output, code and interface. Through the preparation for system software and ha

5、rdware, this text implemented the management subsystem of the laboratory information management system using .This article goal is to complete the development of laboratory information management system through the investigation and study, the analysis, the design and the implementation. Through eff

6、ective data sharing and automatic processing, the text managed each part of subsystem to unify organically in together, enhanced data sharing and increased the efficiency of management.Key words Database SQL SERVER Delph7 System design System analysis目 次 TOC o 1-2 h z HYPERLINK l _Toc138060328 1 系統(tǒng)概

7、述 PAGEREF _Toc138060328 h 1 HYPERLINK l _Toc138060329 1.1 需求分析 PAGEREF _Toc138060329 h 1 HYPERLINK l _Toc138060330 1.2 主要功能 PAGEREF _Toc138060330 h 1 HYPERLINK l _Toc138060331 1.3 系統(tǒng)結(jié)構(gòu) PAGEREF _Toc138060331 h 1 HYPERLINK l _Toc138060332 1.4 Delphi簡(jiǎn)介 PAGEREF _Toc138060332 h 1 HYPERLINK l _Toc13806033

8、3 1.5 數(shù)據(jù)庫(kù)及其應(yīng)用 PAGEREF _Toc138060333 h 2 HYPERLINK l _Toc138060334 1.6 數(shù)據(jù)庫(kù)系統(tǒng) PAGEREF _Toc138060334 h 3 HYPERLINK l _Toc138060335 2 系統(tǒng)結(jié)構(gòu)圖編程思路 PAGEREF _Toc138060335 h 5 HYPERLINK l _Toc138060336 2.1 主要用到的控件 PAGEREF _Toc138060336 h 5 HYPERLINK l _Toc138060337 2.2 整體思路 PAGEREF _Toc138060337 h 5 HYPERLINK

9、 l _Toc138060338 2.3 系統(tǒng)設(shè)計(jì) PAGEREF _Toc138060338 h 5 HYPERLINK l _Toc138060339 2.4 數(shù)據(jù)庫(kù)的設(shè)計(jì) PAGEREF _Toc138060339 h 7 HYPERLINK l _Toc138060340 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc138060340 h 8 HYPERLINK l _Toc138060341 3 程序詳細(xì)設(shè)計(jì) PAGEREF _Toc138060341 h 10 HYPERLINK l _Toc138060342 3.1 窗體和模塊的創(chuàng)建 PAGEREF _Toc138060342

10、h 10 HYPERLINK l _Toc138060343 3.2 儀器借用信息維護(hù)窗體的設(shè)計(jì) PAGEREF _Toc138060343 h 13 HYPERLINK l _Toc138060344 3.3 儀器和實(shí)驗(yàn)代碼維護(hù) PAGEREF _Toc138060344 h 14 HYPERLINK l _Toc138060345 3.4 借用人通訊錄維護(hù)窗體的設(shè)計(jì) PAGEREF _Toc138060345 h 15 HYPERLINK l _Toc138060346 3.5 儀器統(tǒng)計(jì)相關(guān)窗體的創(chuàng)建 PAGEREF _Toc138060346 h 20 HYPERLINK l _Toc1

11、38060347 3.6 儀器是否借出統(tǒng)計(jì)窗體的設(shè)計(jì) PAGEREF _Toc138060347 h 21 HYPERLINK l _Toc138060348 3.7 儀器分類(lèi)統(tǒng)計(jì)窗體的設(shè)計(jì) PAGEREF _Toc138060348 h 23 HYPERLINK l _Toc138060349 結(jié) 論 PAGEREF _Toc138060349 h 25 HYPERLINK l _Toc138060350 致 謝 PAGEREF _Toc138060350 h 26 HYPERLINK l _Toc138060351 參 考 文 獻(xiàn) PAGEREF _Toc138060351 h 271 系

12、統(tǒng)概述1.1 需求分析實(shí)驗(yàn)儀器管理是一個(gè)單位不可缺少的部分,尤其對(duì)于一個(gè)大型的實(shí)驗(yàn)室來(lái)說(shuō),它的管理直接影響到他的成功與失敗。隨著社會(huì)的不斷在發(fā)展,我們應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。總體來(lái)說(shuō),在現(xiàn)在這個(gè)時(shí)代,計(jì)算機(jī)的應(yīng)用已經(jīng)成了一種趨勢(shì)。 主要功能 首先了解一下這個(gè)實(shí)驗(yàn)室儀器管理系統(tǒng)的主要功能。實(shí)驗(yàn)室儀器管理系統(tǒng),主要實(shí)現(xiàn)以下幾項(xiàng)功能:(1)基本儀器信息錄入,修改和信息查詢。(2)借用信息維護(hù),包括錄入,修改和查詢

13、,以及打印儀器催交通知書(shū)等功能。(3)借用人通信信息維護(hù),包括錄入,修改,查詢和通信人信封格式打印等功能。(4)代碼庫(kù)維護(hù),包括實(shí)驗(yàn)代碼庫(kù),分類(lèi)代碼庫(kù)的維護(hù)。(5)統(tǒng)計(jì)信息,包括儀器狀況,借出情況和儀器分類(lèi)統(tǒng)計(jì) 。1.3 系統(tǒng)結(jié)構(gòu)本系統(tǒng)的結(jié)構(gòu)圖可以表示成如圖1.1所示。 Delphi簡(jiǎn)介Delphi是美國(guó)Borland Software Corporation公司的編程工具產(chǎn)品。它基于Pascal語(yǔ)言,具有語(yǔ)法嚴(yán)謹(jǐn)、結(jié)構(gòu)清晰、可讀性強(qiáng)和代碼執(zhí)行效率高等優(yōu)點(diǎn);最重要的是,它功能強(qiáng)大且靈活易學(xué),利用Delphi,我們?cè)赪indows平臺(tái)下幾乎可以做任何事情。作為一下優(yōu)秀的、體貼的、以人為本的開(kāi)發(fā)工

14、具,Delphi一直堅(jiān)持復(fù)雜問(wèn)題簡(jiǎn)單化的思想,而且不隱藏其細(xì)節(jié)以適應(yīng)不同層次的程序員。此外,Delphi還對(duì)其開(kāi)發(fā)環(huán)境以及內(nèi)核進(jìn)行了比較大的改善;繼續(xù)加強(qiáng)了和C+ Builder的融合能力;進(jìn)一步完善了dbExpress和網(wǎng)絡(luò)相關(guān)組件。啟動(dòng)系統(tǒng)實(shí)驗(yàn)室儀器管理系統(tǒng)儀器基本信息管理借出信息管理借出人通訊錄管理信息統(tǒng)計(jì)報(bào)表輸出退出系統(tǒng) 實(shí)驗(yàn)室儀器管理系統(tǒng)結(jié)構(gòu)圖1.5 數(shù)據(jù)庫(kù)及其應(yīng)用自20世紀(jì)70年代以來(lái),數(shù)據(jù)庫(kù)技術(shù)得到迅速發(fā)展。目前世界上已經(jīng)有數(shù)百萬(wàn)個(gè)數(shù)據(jù)庫(kù)系統(tǒng)在運(yùn)行,其應(yīng)用已經(jīng)深入到社會(huì)生活的各個(gè)領(lǐng)域,從企業(yè)管理,銀行管理,資源管理,經(jīng)濟(jì)預(yù)測(cè)一直到信息檢索、檔案管理、普查統(tǒng)計(jì)等。我國(guó)20世紀(jì)90年

15、代初在全國(guó)范圍內(nèi)裝備了12個(gè)以數(shù)據(jù)庫(kù)為基礎(chǔ)的大型計(jì)算機(jī)系統(tǒng),這些系統(tǒng)分布在郵電、計(jì)委、銀行、電力、鐵路、氣象、民航、情報(bào)、公安、軍事、航天和財(cái)稅等行業(yè)?,F(xiàn)在,數(shù)據(jù)庫(kù)技術(shù)還在不斷發(fā)展,并且不斷的與其它計(jì)算機(jī)技術(shù)相互滲透。數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)絡(luò)通信技術(shù)相結(jié)合,產(chǎn)生了面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)等各種數(shù)據(jù)庫(kù)系統(tǒng)。在人類(lèi)邁向21世紀(jì)知識(shí)經(jīng)濟(jì)的時(shí)候,信息變?yōu)榻?jīng)濟(jì)發(fā)展的戰(zhàn)略資源,信息技術(shù)已成為社會(huì)生產(chǎn)力重要的組成部分。人們充分認(rèn)識(shí)到,數(shù)據(jù)庫(kù)是信息化社會(huì)中信息資源管理與開(kāi)發(fā)利用的基礎(chǔ)。對(duì)于一個(gè)國(guó)家,數(shù)據(jù)庫(kù)的建設(shè)規(guī)模,使用水平已成為衡量該國(guó)信息化程度的重要標(biāo)志。因此,數(shù)據(jù)庫(kù)的學(xué)習(xí)是非常重要的。 數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)本質(zhì)上是一

16、個(gè)用計(jì)算機(jī)存儲(chǔ)記錄的系統(tǒng)。數(shù)據(jù)庫(kù)本身可被看作為一種電子文件柜:也就是說(shuō),它是收集計(jì)算機(jī)數(shù)據(jù)文件的倉(cāng)庫(kù)或容器。系統(tǒng)用戶可以對(duì)這些文件執(zhí)行插入數(shù)據(jù)、檢索數(shù)據(jù)、更改數(shù)據(jù)、刪除數(shù)據(jù)等一系列操作。總之,數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)計(jì)算機(jī)存儲(chǔ)記錄的系統(tǒng),即它是一個(gè)計(jì)算機(jī)系統(tǒng),該系統(tǒng)的目標(biāo)存儲(chǔ)信息并支持用戶檢索和更新所需要的信息。圖1.2是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的簡(jiǎn)圖。圖1.2 數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)圖本系統(tǒng)采用SQL技術(shù)建立數(shù)據(jù)庫(kù),使用Delphi技術(shù)建立數(shù)據(jù)源的鏈接,并且生成實(shí)驗(yàn)室管理的數(shù)據(jù)庫(kù)應(yīng)用程序從而實(shí)現(xiàn)數(shù)據(jù)庫(kù)的管理功能。SQL語(yǔ)言介紹SQL(Structured Query Language,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)

17、庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱(chēng),SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用SQL的常見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專(zhuān)有擴(kuò)展功能用于它們的系統(tǒng)。但是標(biāo)準(zhǔn)的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。MS SQL Serve

18、r 就是用的Transact- SQL。SQL語(yǔ)言有著非常突出的優(yōu)點(diǎn),主要是:(1)非過(guò)程化語(yǔ)言(2)統(tǒng)一的語(yǔ)言(3)是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言非過(guò)程化語(yǔ)言:SQL是一個(gè)非過(guò)程化的語(yǔ)言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集,所有SQL 語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。SQL語(yǔ)句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有

19、什么類(lèi)型的索引。統(tǒng)一的語(yǔ)言:SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類(lèi)型的終端用戶。 SQL為許多任務(wù)提供了命令,其中包括:(1)查詢數(shù)據(jù)(2)在表中插入、修改和刪除記錄(3)建立、修改和刪除數(shù)據(jù)對(duì)象(4)控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取(5)保證數(shù)據(jù)庫(kù)一致性和完整性以前的數(shù)據(jù)庫(kù)管理系統(tǒng)為上述各類(lèi)操作提供單獨(dú)的語(yǔ)言,而SQL 將全部任務(wù)統(tǒng)一在一種語(yǔ)言中。所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言:由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的技能從一個(gè)RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))轉(zhuǎn)到另一個(gè),所有用SQL編寫(xiě)的程序都是可以移植

20、的。2 系統(tǒng)結(jié)構(gòu)圖編程思路2.1 主要用到的控件實(shí)驗(yàn)室儀器管理系統(tǒng)主要用到的控件如下:(1)數(shù)據(jù)集和數(shù)據(jù)源控件:TTABLE,TQUERY,TDATESOURCE等。(2)數(shù)據(jù)控制控件:TDBGRID,TDBCHART, TDBNAVIGATOR等。(3)報(bào)表控件:TQUICKREP,TQRLABEL,TQRDBTEXT,TQRCHART等。 整體思路首先是數(shù)據(jù)庫(kù)需求分析。根據(jù)實(shí)際實(shí)驗(yàn)室儀器管理所要進(jìn)行的相關(guān)管理工作,設(shè)計(jì)了5個(gè)數(shù)據(jù)表,并做詳細(xì)的介紹。實(shí)驗(yàn)儀器管理系統(tǒng),從總體上可以分為二大部分:一部分是用于實(shí)驗(yàn)儀器的管理,另外一部分是用于對(duì)實(shí)驗(yàn)儀器的分類(lèi)設(shè)計(jì),因而在對(duì)系統(tǒng)設(shè)計(jì)的時(shí)候,可以從這兩

21、方面著手來(lái)進(jìn)行。最后是系統(tǒng)功能模塊的組合編譯,以及系統(tǒng)功能的完善。 系統(tǒng)設(shè)計(jì) 系統(tǒng)功能分析(1)基本信息錄入:包括儀器基本信息,借用信息和借用人基本信息的錄入。主要借用了數(shù)據(jù)編輯控件,例如,TEDIT,TMASKEDIT。TCOMBOBOX和TDATATIMEPICK等控件提供給用戶輸入數(shù)據(jù),然后用TABLE數(shù)據(jù)集控件的APPEND功能錄入信息。在錄入時(shí),提供較嚴(yán)格的數(shù)據(jù)檢查機(jī)制控制差錯(cuò)輸入。(2)信息修改:包括對(duì)儀器基本信息,借用信息的數(shù)據(jù)修改。主要借用了數(shù)據(jù)控制控件,例如:TDBNAVIGATOR,TDNEDIT等控件,用NAVIGATOR控件所提供的數(shù)據(jù);瀏覽和數(shù)據(jù)編輯等功能,來(lái)實(shí)現(xiàn)對(duì)T

22、ABLE數(shù)據(jù)集連接的數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行修改。(3)信息查詢:包括對(duì)儀器基本信息,借用信息和借用人基本信息的數(shù)據(jù)表中的信息進(jìn)行查詢。主要使用查詢控件TQUERY帶參數(shù)進(jìn)行多條件作何查詢。(4)報(bào)表輸出功能:包括打印催交通知單和所有借用記錄;其中催交通知單是按用戶輸入的名字動(dòng)態(tài)打印。(5)分類(lèi)統(tǒng)計(jì)儀器數(shù)量:包括儀器狀況統(tǒng)計(jì),儀器是否借出和儀器分類(lèi)統(tǒng)計(jì),主要使用TCHART和TDBCHART控件來(lái)實(shí)現(xiàn)。 系統(tǒng)功能模塊設(shè)計(jì)系統(tǒng)功能模塊設(shè)計(jì), 。儀器基本信息管理儀器借用信息管理通訊錄信息管理儀器相關(guān)代碼管理儀器狀況統(tǒng)計(jì)儀器借用統(tǒng)計(jì)儀器分類(lèi)統(tǒng)計(jì)儀器信息管理儀器分類(lèi)統(tǒng)計(jì)實(shí)驗(yàn)儀器管理圖 實(shí)驗(yàn)室儀器管理系統(tǒng)功能

23、模塊圖實(shí)驗(yàn)室儀器管理可作為后勤管理系統(tǒng)中的一部分,就實(shí)驗(yàn)儀器進(jìn)行管理,同時(shí)還可以在系統(tǒng)擴(kuò)展中添加儀器功能和作用介紹。 數(shù)據(jù)流程圖系統(tǒng)的數(shù)據(jù)流程如圖2.2所示。 查詢用戶報(bào)表輸出催還通知單查詢結(jié)果添加,修改,刪除借用信息儀器信息記錄借用信息記錄借用人通信信息儀器信息借用信息通訊錄圖2.2 實(shí)驗(yàn)室儀器管理系統(tǒng)數(shù)據(jù)流程圖 數(shù)據(jù)庫(kù)的設(shè)計(jì)2.4.1 數(shù)據(jù)庫(kù)的需求分析數(shù)據(jù)流程圖,可以列出下列系統(tǒng)所需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1)儀器基本信息表:儀器編號(hào),儀器名稱(chēng),型號(hào),價(jià)格,狀況,所屬實(shí)驗(yàn),啟用日期,放置位置,分類(lèi)碼,備注。(2)儀器借用信息表:儀器編號(hào),登記編號(hào),借用人,經(jīng)手人,儀器名稱(chēng),借用日期,歸還日

24、期,用途,備注。(3)儀器借用者通訊錄表:姓名,性別, , 地址,電子郵件,生日備注。(4)實(shí)驗(yàn)代碼庫(kù)表:所屬實(shí)驗(yàn)碼,實(shí)驗(yàn)名稱(chēng)。(5)儀器分類(lèi)代碼庫(kù)表:分類(lèi)碼,名稱(chēng)。 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)室儀器管理系統(tǒng)主要的E-R如圖2.3所示。儀器借用信息儀器信息表儀器編號(hào)儀器名稱(chēng) .N:1實(shí)驗(yàn)代碼表分類(lèi)碼名稱(chēng)儀器分類(lèi)表所屬實(shí)驗(yàn)碼實(shí)驗(yàn)名稱(chēng)1:1儀器編號(hào)登記編N:1通訊信息表姓名地址儀器借用報(bào)表輸出記錄借用圖2.3 實(shí)驗(yàn)室儀器管理系統(tǒng)E-R圖 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)儀器管理系統(tǒng)總共涉及到5個(gè)數(shù)據(jù)表,分別用于儀器基本信息,借出儀器信息,借用人通訊錄和兩個(gè)代碼庫(kù)的信息保存;需要建立的數(shù)據(jù)表如下圖所示。2.5.1

25、 儀器基本信息表表2.4儀器基本信息表字段值數(shù)據(jù)類(lèi)型是否可空儀器編號(hào)(關(guān)鍵字)Char(6) Not null儀器名稱(chēng)Char(20)yes型號(hào)Char(16)Yes價(jià)格FloatYes所屬實(shí)驗(yàn)Char(2)yes狀況Char(4)Not null啟用日期Dateyes放置位置Char(4)Yes分類(lèi)碼Char(2)yes備注Char(100)yes2.5.2 通訊錄表 字段值數(shù)據(jù)類(lèi)型是否可空姓名(關(guān)鍵字)CHAR(8)NOT NULL性別CHAR(2)YES CHAR(13)YES地址CHAR(30)NOT NULL CHAR(6)NOT NULL電子郵件CHAR(20)YES生日CHAR(

26、5)YES備注CHAR(100)YES表2.5通訊錄表 實(shí)驗(yàn)代碼表表2.6實(shí)驗(yàn)代碼表 字段值數(shù)據(jù)類(lèi)型是否可空分類(lèi)碼(關(guān)鍵字)CHAR(2)NUT NULL名稱(chēng)CHAR(20)NOT NULL 實(shí)驗(yàn)分類(lèi)代碼庫(kù) 字段值數(shù)據(jù)類(lèi)型是否可空所屬實(shí)驗(yàn)碼(關(guān)鍵字)CHAR(2)NUT NULL實(shí)驗(yàn)名稱(chēng)CHAR(20)NOT NULLHYPERLINK l _Toc218793573 程序詳細(xì)設(shè)計(jì) 窗體和模塊的創(chuàng)建 主窗口的創(chuàng)建。 主窗口 主菜單設(shè)計(jì)主菜單的設(shè)計(jì)如圖:從圖中可以看出,主窗體主要是由主4菜單和工具條組成,所示。 主菜單從圖中可以看出,主菜單有兩個(gè)子菜單組成分別對(duì)應(yīng)系統(tǒng)的兩大功能模塊,子菜單的設(shè)計(jì)

27、都很簡(jiǎn)單。各菜單項(xiàng)所完成的功能都是調(diào)用相關(guān)功能模塊的窗體。(1)儀器的管理:退出:close.(2)儀器統(tǒng)計(jì):jilu.pas是儀器信息維護(hù)窗口的單元文件名;assort.pas是儀器分類(lèi)統(tǒng)計(jì)圖的單元文件名;jieyong.pas是儀器借出管理窗口的單元文件名tongxun.pas是借用儀器者的通訊資料管理窗體的單元文件名;code.pas是在儀器管理系統(tǒng)中所包含的各種代碼的信息庫(kù)管理窗體的單元文件名;state.pas是按儀器狀況統(tǒng)計(jì)圖窗體的單元文件名;jiechu.pas是按儀器是否借出統(tǒng)計(jì)圖窗體的文件名。(3)儀器管理相關(guān)功能窗口的創(chuàng)建:儀器管理包括四個(gè)功能模塊,分別用于管理儀器基本信息

28、,儀器借用信息,借用人通訊信息以及實(shí)驗(yàn)相關(guān)代碼維護(hù),下面分別介紹。實(shí)驗(yàn)儀器基本信息窗體在實(shí)驗(yàn)儀器基本信息窗體中,主要提供三種功能,分別用于實(shí)現(xiàn)儀器基本信息的添加,修改和查詢,用三個(gè)選項(xiàng)卡在一個(gè)窗體中來(lái)實(shí)現(xiàn)?!拜斎胗涗洝钡脑O(shè)計(jì)窗體:“輸入記錄”的設(shè)計(jì)窗體如圖3.3所示。 圖 儀器基本信息輸入記錄頁(yè)從上圖可以看出,這里用到了一個(gè)TABLE,QUERY。,用于儀器信息的錄入和修改,是第一頁(yè)和第二頁(yè)DBGIRD的數(shù)據(jù)集控件,也即第一,第二的DBGIRD通過(guò)DATASOURCE和該TABLE連接;而QUERY則用于查詢,是第三頁(yè)DAGIRD的數(shù)據(jù)集控件。本頁(yè)分兩部分:上半部分用于添加新儀器信息,除了“所

29、屬實(shí)驗(yàn)”,“分類(lèi)”,“狀況”,用的是列表框TCOMBOBOX,“啟用日期”用的是TDATETIMEPICKER,“備注”用的是TMEMO外,其他的都是TEDIT,而且我們還對(duì)“儀器編號(hào)”輸入框做了輸入長(zhǎng)度的限制,即其MAXLENGTH設(shè)置為對(duì)應(yīng)數(shù)據(jù)表BASIC_INFO.DB 中“儀器編號(hào)”的字段的長(zhǎng)度:另外對(duì)于上面提到的前兩個(gè)TCOMBOBOX,考慮到它們的數(shù)據(jù)是動(dòng)態(tài)變化的,所以把它們列表中的數(shù)據(jù),安排在窗體的ONSHOW事件中從數(shù)據(jù)表CODE1.DB,CODE2.DB中讀入,而“狀況”右邊的列表框中的數(shù)據(jù),因?yàn)閿?shù)據(jù)項(xiàng)是固定的,所以在設(shè)計(jì)期就輸入,在該列表框的ITEMS屬性中有如下數(shù)據(jù):良好

30、,好,可用,待修,報(bào)廢。該頁(yè)下半部分的DBGIRD主要用于顯示數(shù)據(jù)表中的信息,其DGROWSELECT屬性為T(mén)URE,用戶只能瀏覽而不能通過(guò)該網(wǎng)格修改表中信息。該頁(yè)主要提供給用戶對(duì)儀器信息的修改,只要使用TDBEDIT,TDBMEMO和TDBNAVIGATOR控件,連接的數(shù)據(jù)集是TABLE1。下半部分的TDBGRID也只是用來(lái)顯示信息,其DBROWSELECT為T(mén)URE,而且只讀,該頁(yè)的設(shè)計(jì)很簡(jiǎn)單,幾乎不涉及代碼的編寫(xiě)。查詢:使用QUERY帶參數(shù)的方法進(jìn)行查詢,SQL語(yǔ)句根據(jù)用戶選擇的查詢條件動(dòng)態(tài)產(chǎn)生。在實(shí)現(xiàn)時(shí),定義了一個(gè)本窗體的全局變量SELSTR來(lái)保存用戶對(duì)條件的組合要求,即使用“OR”還

31、是“AND”的方法組合查詢。SELSTR在本窗體的ONCREATE部分初始化為“OR”,而在本頁(yè)的兩個(gè)TRADIOBUTTON的ONCLICK事件中改變:“邏輯或”單選按鈕的ONCLICK事件:selstr:=or “邏輯與”單選按鈕的ONCLICK事件:selstr:=and 其中and和or的前后都留有一個(gè)空格。圖中“啟用日期”右邊的控件是TDATETIMEPICKER;“狀況”右邊的控件是TCOMBOBOX,其ITEMS項(xiàng)的設(shè)計(jì)和第一頁(yè)的設(shè)計(jì)是一樣的;其他的為T(mén)EDIT。 儀器借用信息維護(hù)窗體的設(shè)計(jì)該窗體的設(shè)計(jì)思路和儀器基本信息窗體的設(shè)計(jì)思路基本上是一樣的,窗體主要也涉及到三頁(yè)的選項(xiàng)卡,

32、分別提供錄入,修改,查詢的功能,介紹如下?!拜斎胗涗洝表?yè)的設(shè)計(jì):設(shè)計(jì)界面如圖3.4所示。從上圖可以看到,這里用到了兩個(gè)TABLE和一個(gè)QUERY,連接的數(shù)據(jù)庫(kù)都是上面建立的“APPARATUSMGR”。第一個(gè)TABLE連接的數(shù)據(jù)表是borrow_info.db,用來(lái)錄入和修改記錄,第二個(gè)TABLE連接的數(shù)據(jù)表是basic_info.db,用來(lái)查詢用戶輸入的儀器編號(hào)是否已經(jīng)存在于儀器信息庫(kù)中(不存在于儀器信息庫(kù)中的儀器是非法的,即不能借出);而QUERY用來(lái)查詢記錄。該頁(yè)的“儀器名稱(chēng)”右邊的輸入框是只讀的,其信息根據(jù)用戶輸入的儀器編號(hào),從儀器信息表中讀出。“修改記錄”頁(yè)的設(shè)計(jì),如圖所示。 儀器借

33、用輸入記錄頁(yè) 儀器借用修改記錄設(shè)計(jì)頁(yè)使用的控件為T(mén)DBEDIT,TDBMEMO和TDBNAVIGATOR,連接的數(shù)據(jù)集控件都是TABLE。3.3 儀器和實(shí)驗(yàn)代碼維護(hù) 儀器和實(shí)驗(yàn)代碼運(yùn)行界面。 儀器和實(shí)驗(yàn)代碼維護(hù)設(shè)計(jì)窗體圖中的兩個(gè)TABLE連接的數(shù)據(jù)表分別是:code1.db和code2.db,即所屬實(shí)驗(yàn)代碼和儀器分類(lèi)代碼。3.4 借用人通訊錄維護(hù)窗體的設(shè)計(jì)該窗體的設(shè)計(jì)也涉及到三個(gè)選項(xiàng)卡,所對(duì)應(yīng)的功能子模塊分別是借用人信息錄入,查詢和兩個(gè)報(bào)表的輸出:按名字打印信封格式的催還單以及打印全部借用信息。窗體中有一個(gè)TABLE和一個(gè)QUERY,TABLE連接的數(shù)據(jù)表borrowers.db,用來(lái)錄入記錄

34、,而QUERY用來(lái)查詢記錄,下面分別介紹三個(gè)頁(yè)的設(shè)計(jì)情況?!颁浫胗涗洝表?yè)的設(shè)計(jì):本頁(yè)的設(shè)計(jì)情況如圖3.7所示。 圖 錄入記錄圖中的上半部分,“性別”右邊列表框的ITEMS屬性值:“男”,“女”是在設(shè)計(jì)時(shí)輸入的;“ ”,“生日”,“ ”的輸入使用TMASKEDIT控件;“備注”輸入使用的是TMEMO控件;其他的是TEDIT控件。該頁(yè)的TDBGRID是只讀的,主要提供給擁護(hù)瀏覽記錄?!按_定”按鈕實(shí)現(xiàn)代碼如下:procedure TForm_Tongxun.SpeedButton1Click(Sender: TObject);beginwith table_Tongxun do begin Appe

35、nd; FieldByName(姓名).AsString:=Edit_Name.Text; FieldByName(性別).AsString:=combobox1.Text; FieldByName( ).AsString:=MaskEdit_Num.Text; FieldByName(備注).AsString:=Edit_Memo.Text; FieldByName(生日).AsString:=MaskEdit_Birth.Text; FieldByName( ).AsString:=Edit_post.Text; FieldByName(地址).AsString:=Edit_Address

36、.Text; FieldByName(EMAIL).AsString:=EDIT_Mail.Text; Post; end;end;“取消”按鈕實(shí)現(xiàn)代碼如下:beginedit_Name.Clear ;MaskEdit_Num.Clear ;Edit_Memo.Clear ;MaskEdit_Birth.Clear ;edit_post.Clear ;Edit_Address.Clear ;Edit_Mail.Text:=;Edit_Memo.Lines.Clear ;end;“查詢記錄”頁(yè)的設(shè)計(jì):該頁(yè)的設(shè)計(jì)如圖3.8所示。圖 借用人通訊錄查詢記錄設(shè)計(jì)頁(yè)“查詢”按鈕實(shí)現(xiàn)代碼如下:beginif

37、 radiobutton1.Checked then logicstr:= and ;if radiobutton2.Checked then logicstr:= or ;sqlstr:=select * from borrowers where 姓名=:sname+logicstr+性別=:ssex+logicstr;sqlstr:=sqlstr+ =:sphone+logicstr+地址=:saddress;with query_Com do begin Close; SQL.Clear; SQL.Add(sqlstr); ParamByName(sname).AsString :=ed

38、it_sql_name.Text ; ParamByName(ssex).AsString :=combobox2.Text ; ParamByName(sphone).AsString :=maskedit_sql_num.Text ; ParamByName(saddress).AsString :=edit_Sql_Add.text; Open; if recordcount=0 then messagedlg(沒(méi)有找到滿足要求的記錄,請(qǐng)檢查查詢條件!,mtinformation,mbOk,0); end;end;“查詢所有記錄”按鈕實(shí)現(xiàn)代碼如下:beginwith query_Com

39、do begin Close; SQL.Clear; sQL.Add(select * from labcom); Open; end;end;。圖3.9 借用人通訊錄打印報(bào)表設(shè)計(jì)頁(yè)“查詢并打印結(jié)果(信封格式)”是按用戶輸入的借用人姓名來(lái)打印信封格式的催還通知單;而“打印全部借用信息”則打印所有儀器借用信息和借用人相關(guān)信息。因?yàn)檫@里涉及到兩個(gè)報(bào)表,所以在本單元的IMPLEMENTATION部分要包含著兩個(gè)報(bào)表所在的單元文件。代碼如下:ImplementationUses allcuihuan,print;$R*.dfm“查詢并打印結(jié)果(信封格式)”按鈕的實(shí)現(xiàn)代碼如下:var q:tquery;

40、beginif trim(edit_jy_name.Text)= then begin messagedlg(名字不能為空!,mtError,mbok,0); exit; end; q:=tquery.Create(nil); q.DatabaseName :=form_print.Query1.DatabaseName ; q.SQL.Add(select * from borrowers where 姓名=:bname); q.ParamByName(bname).AsString :=edit_JY_Name.Text; q.Open ; if q.RecordCount=0 then

41、begin messagedlg(庫(kù)中無(wú)此人!,mtinformation,mbok,0); q.Close ; q.Free ; exit; end else begin q.Close ; q.Free ; form_print.Query1.ParamByName(qname).AsString :=edit_JY_Name.Text; form_print.Query1.Open; Form_Print.qrp.preview; end;3.5 儀器統(tǒng)計(jì)相關(guān)窗體的創(chuàng)建儀器狀況統(tǒng)計(jì)窗體,。 儀器狀況表代碼為:procedure TForm_Tongji_State.FormShow(Se

42、nder: TObject);var t:Ttable; i:integer; data_sum:array1.6 of integer;begin t:=Ttable.Create(nil); t.DatabaseName :=apparatusmgr; t.TableName :=basic_info.db; t.Open; series1.Clear; for i:=1 to 6 do data_sumi:=0; while not t.Eof do with t do begin if FieldByName(狀況).AsString= then data_sum1:=data_sum

43、1+1; if FieldByName(狀況).AsString=好 then data_sum2:=data_sum2+1; if FieldByName(狀況).AsString=良好 then data_sum3:=data_sum3+1; if FieldByName(狀況).AsString=勘用 then data_sum4:=data_sum4+1; if FieldByName(狀況).AsString=待修 then data_sum5:=data_sum5+1; if FieldByName(狀況).AsString=報(bào)廢 then data_sum6:=data_sum6

44、+1; Next; end; Series1.Add(data_sum2,好,clTeeColor); Series1.Add(data_sum3,良好,clTeeColor); Series1.Add(data_sum4,勘用,clTeeColor); Series1.Add(data_sum5,待修,clTeeColor); Series1.Add(data_sum6,報(bào)廢,clTeeColor); Series1.Add(data_sum1,其他,clTeeColor); t.Close ; t.Free ;end;3.6 儀器是否借出統(tǒng)計(jì)窗體的設(shè)計(jì) 儀器是否借出統(tǒng)計(jì)窗體的設(shè)計(jì)運(yùn)行界面,

45、。 借出統(tǒng)計(jì)窗體代碼如下:beginseries1.Clear;t:=ttable.Create(nil);t.DatabaseName :=apparatusmgr;t.TableName :=borrow_info.db;t.Open;i:=t.RecordCount ;t.Close ;t.TableName :=basic_info.db;t.Open ;j:=t.RecordCount-i;t.Close ;t.Free ;Series1.Add(i,已借出,clTeeColor);Series1.Add(j,未借出,clTeeColor);end;3.7 儀器分類(lèi)統(tǒng)計(jì)窗體的設(shè)計(jì)儀器

46、分類(lèi)統(tǒng)計(jì)窗體的設(shè)計(jì),。圖 儀器分類(lèi)統(tǒng)計(jì)窗體本窗體的圖形顯示控件是TCHART,統(tǒng)計(jì)數(shù)據(jù)在窗體的ONSHOW時(shí)間中獲得,代碼如下:procedure TForm_Assort.FormShow(Sender: TObject);var q:Tquery; sqlstr:string;beginq:=Tquery.Create(nil);q.DatabaseName :=apparatusmgr;series1.Clear;sqlstr:=select a.名稱(chēng) as 名稱(chēng),count(b.儀器編號(hào)) as 數(shù)量 from code2 a,basic_info b ;sqlstr:=sqlstr+where b.分類(lèi)碼=a.分類(lèi)碼 group by a.名稱(chēng);q.SQL.Add(sqlstr);q.open;whi

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論