版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 數(shù)據(jù)庫系統(tǒng)是計(jì)算機(jī)應(yīng)用領(lǐng)域中使用最廣泛的技術(shù)之一,它為我們提供了一種把與我們的工作和生活緊密相關(guān)的信息集合在一起的方法,還有在某個(gè)集中的地方存儲(chǔ)和維護(hù)這些信息的方法。數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)是Delphi程序設(shè)計(jì)的重要組成部分,在Delphi中創(chuàng)建數(shù)據(jù)庫程序,其過程和方法如同創(chuàng)建其他類型的Delphi應(yīng)用程序一樣簡(jiǎn)單、快捷。而Mi
2、crosoft SQL Server 2000是一個(gè)面向二十一世紀(jì)的高性能的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是微軟.NET戰(zhàn)略的重要一環(huán)。在此的 “人事管理系統(tǒng)” ,是基于C/S(客戶機(jī)/服務(wù)器)開發(fā)模式,用SQL Server 2000作為數(shù)據(jù)庫開發(fā)平臺(tái),以Delphi為訪問程序開發(fā)工具,利用面向?qū)ο缶幊痰南冗M(jìn)方法,開發(fā)的一個(gè)實(shí)用程序。</p><p> 企業(yè)人事管理系統(tǒng)主要用于員工個(gè)人資料的錄入、職務(wù)變動(dòng)的記錄和管理
3、。使用人事管理系統(tǒng),便于公司領(lǐng)導(dǎo)掌握人員的動(dòng)向,及時(shí)調(diào)整人才的分配,以獲取最大的經(jīng)濟(jì)效益。</p><p> 本文具體闡述了本應(yīng)用系統(tǒng)的開發(fā)工具、開發(fā)思想和開發(fā)方法。有不足之處,請(qǐng)多多見諒。</p><p> 【關(guān)鍵詞】 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) 人事管理系統(tǒng)</p><p> 【論文類型】 應(yīng)用研究</p><p> Pe
4、rsonnel Management System Edited In Delphi6</p><p> ABSTRACT Database system, which supplies not only a kind of way we organize the information that have something to do between our work and our daily lives
5、 but a certain way we store and maintain those information in one position, has been considered the one of the most widely used technologies in the field of computer application. The research to the database application
6、is an essential proportion of the Delphi program design, as the period of the initialing other type of Delphi program, it is a</p><p> The corporation personnel management system is mainly used for storing
7、employee‘s personal files, conversion and management for the change of the positions. It is so convenient for the boss to control the personnel case that he can make adjustment in time to max the profit. </p><
8、;p> The article talks about the tools, methods, and way of designing. There must be mistakes, thanks for reading.</p><p> 【Key words】 Database System Database management System</p><p> P
9、ersonnel Management System</p><p> 【Type of Thesis】 Applied Research</p><p><b> 摘 要1</b></p><p> 第1章 Delphi數(shù)據(jù)庫編程5</p><p> 1.1 Delphi的數(shù)據(jù)庫特性和功能簡(jiǎn)介5<
10、;/p><p> 1.1.1 Delphi的數(shù)據(jù)庫特性6</p><p> 1.1.2 Delphi可以訪問的數(shù)據(jù)源(DataSource)7</p><p> 1.2 數(shù)據(jù)訪問部件7</p><p> 1.3 數(shù)據(jù)控制部件9</p><p> 1.4 數(shù)據(jù)庫訪問技術(shù)10</p>
11、<p> 第2章 人事管理系統(tǒng)的總體分析與設(shè)計(jì)12</p><p> 2.1 系統(tǒng)功能分析12</p><p> 2.2 系統(tǒng)功能模塊的設(shè)計(jì)12</p><p> 2.3 數(shù)據(jù)庫設(shè)計(jì)13</p><p> 2.3.1 數(shù)據(jù)庫需求分析13</p><p> 2.3.2 數(shù)據(jù)庫
12、概念結(jié)構(gòu)設(shè)計(jì)14</p><p> 2.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)14</p><p> 第3章 數(shù)據(jù)庫的建立16</p><p> 3.1 SQL Server 簡(jiǎn)介16</p><p> 3.2 創(chuàng)建數(shù)據(jù)庫17</p><p> 3.3 SQL Server 2000 數(shù)據(jù)庫表的創(chuàng)建和管理
13、18</p><p> 3.4 連接ODBC數(shù)據(jù)源21</p><p> 第4章 系統(tǒng)各功能模塊設(shè)計(jì)24</p><p> 4.1 主窗口的創(chuàng)建24</p><p> 4.1.1 菜單的創(chuàng)建24</p><p> 4.1.2 設(shè)置菜單主要屬性24</p><p>
14、 4.1.3 給主窗口添加圖像25</p><p> 4.1.4 添加代碼26</p><p> 4.2 系統(tǒng)登錄窗口的創(chuàng)建27</p><p> 4.2.1. 系統(tǒng)登錄窗口的窗體設(shè)計(jì)27</p><p> 4.2.2 系統(tǒng)登錄窗口的代碼設(shè)計(jì)28</p><p> 4.3 增加新員工模塊
15、的實(shí)現(xiàn)29</p><p> 4.3.1 增加新員工模塊的窗體設(shè)計(jì)29</p><p> 4.3.2 增加新員工窗口的代碼設(shè)計(jì)31</p><p> 4.4 人事變動(dòng)模塊的實(shí)現(xiàn)32</p><p> 4.4.1 人事變動(dòng)窗口的窗體設(shè)計(jì)32</p><p> 4.4.2 人事變動(dòng)窗口的代碼設(shè)
16、計(jì)34</p><p> 4.5 簡(jiǎn)單查詢模塊的創(chuàng)建35</p><p> 4.5.1 簡(jiǎn)單查詢模塊的窗體設(shè)計(jì)35</p><p> 4.5.2 簡(jiǎn)單查詢窗口的代碼設(shè)計(jì)36</p><p> 4.6 模糊查詢模塊的創(chuàng)建37</p><p> 4.6.1 模糊查詢窗口的窗體設(shè)計(jì)37<
17、/p><p> 4.6.2 模糊查詢窗口的代碼設(shè)計(jì)38</p><p> 4.7 員工信息修改模塊的實(shí)現(xiàn)40</p><p> 4.7.1 員工信息修改窗口的窗體設(shè)計(jì)40</p><p> 4.7.2 員工信息修改的代碼設(shè)計(jì)42</p><p> 4.8 員工信息刪除模塊的實(shí)現(xiàn)43</p
18、><p> 4.9 關(guān)于窗口的創(chuàng)建43</p><p> 第5章 系統(tǒng)的調(diào)試和運(yùn)行44</p><p><b> 結(jié)束語44</b></p><p> 第1章 Delphi數(shù)據(jù)庫編程</p><p> 1.1 Delphi的數(shù)據(jù)庫特性和功能簡(jiǎn)介</p><p
19、> 計(jì)算機(jī)軟件的開發(fā)分為兩個(gè)不同的體系,其中一個(gè)體系是使用傳統(tǒng)的程序設(shè)計(jì)語言(如Pascal、Basic和C等)開發(fā)數(shù)據(jù)控制、數(shù)值運(yùn)算等軟件,圍繞它們的重點(diǎn)是算術(shù)、數(shù)據(jù)結(jié)構(gòu)以及今年產(chǎn)生的面向?qū)ο蠹夹g(shù)。另一個(gè)體系則是通用的數(shù)據(jù)庫管理軟件領(lǐng)域(數(shù)據(jù)庫應(yīng)用程序的開發(fā))。這兩個(gè)體系的發(fā)展都極為迅猛,但是二者并沒出現(xiàn)混合滲透跡象。如果使用數(shù)據(jù)庫語言進(jìn)行傳統(tǒng)的算術(shù)編程,雖然也能完成相應(yīng)的功能,但是其編程過程可能極為復(fù)雜。如果使用傳統(tǒng)的編程語
20、言進(jìn)行數(shù)據(jù)庫編程,通過調(diào)用專用的數(shù)據(jù)庫應(yīng)用程序接口函數(shù)和過程,利用這些函數(shù)和過程提供的功能,可能也能做得比較完善,但者做起來大多是極其困難的。而Delphi結(jié)合了兩個(gè)體系的優(yōu)點(diǎn),它結(jié)合了傳統(tǒng)的編程語言O(shè)bject Pascal和數(shù)據(jù)庫語言的強(qiáng)大功能,它即可以用于傳統(tǒng)的算術(shù)編程又可以用于數(shù)據(jù)庫編程,特別是Delphi具有強(qiáng)大的數(shù)據(jù)庫功能,利用Delphi的數(shù)據(jù)庫工具,用戶根本不需要編寫任何Object Pascal代碼便可以創(chuàng)建一個(gè)簡(jiǎn)單的
21、數(shù)據(jù)庫應(yīng)用。</p><p> Delphi是Borland公司于1994年底發(fā)布的用于開發(fā)數(shù)據(jù)庫應(yīng)用程序的工具,它是面向?qū)ο蟮?,它是目前開發(fā)客戶/服務(wù)器數(shù)據(jù)庫應(yīng)用程序的強(qiáng)有力的工具。Delphi目前具有三個(gè)版本:標(biāo)準(zhǔn)版、專業(yè)版和企業(yè)版。標(biāo)準(zhǔn)版本包含一個(gè)Borland Database Engine的局部拷貝,它允許用戶創(chuàng)建能訪問dBASE、Paradox和Local InterBase服務(wù)器的數(shù)據(jù)庫應(yīng)用,它還
22、支持具有ODBC接口的數(shù)據(jù)庫。Delphi 的客戶/服務(wù)器版本包括Borland SQL Link,它能直接訪問ORACLE、SyBase和Microsoft SQL Server,Informix以及InterBase數(shù)據(jù)庫服務(wù)器。</p><p> Delphi可以訪問多種數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫,憑借窗體(Forms)和報(bào)表(Reports),BDE(Borland Database Engine)可以訪問
23、諸如Paradox、dBASE、本地InterBase服務(wù)器的數(shù)據(jù)庫,也可以訪問遠(yuǎn)程數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫(如ORACLE、SyBase、Informix等可戶/服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù)庫),或任何經(jīng)ODBC(Open Database Connecticity)可訪問的數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)庫。為了訪問數(shù)據(jù)資源,程序員必須通過BDE(Borland Database Engine)或ADO(ActiveXData Objects)或Int
24、erBase Express來建立數(shù)據(jù)庫與Delphi數(shù)據(jù)庫數(shù)據(jù)訪問組件的連接。</p><p> Delphi的數(shù)據(jù)庫特性</p><p> 跟其他的應(yīng)用程序一樣,Delphi提供了許多部件以方便地創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。數(shù)據(jù)庫對(duì)象的數(shù)據(jù)成員即可在設(shè)計(jì)階段設(shè)置,也可在運(yùn)行階段通過程序代碼進(jìn)行設(shè)置。Delphi的部件板上提供了兩頁數(shù)據(jù)庫應(yīng)用程序開發(fā)中所使用的部件:</p>&
25、lt;p> 數(shù)據(jù)訪問頁(Data Access Page)上的部件用于直接訪問數(shù)據(jù)庫中的數(shù)據(jù)庫表。</p><p> 數(shù)據(jù)控制頁(Data Control Page)上的部件用來與用戶交互,顯示、修改數(shù)據(jù)庫中的數(shù)據(jù)。</p><p> 數(shù)據(jù)庫應(yīng)用程序首先是利用Delphi提供的數(shù)據(jù)庫部件與BDE建立聯(lián)系,然后再通過BDE與數(shù)據(jù)庫聯(lián)系。</p><p>
26、 表1-1概括了Delphi的數(shù)據(jù)庫特性</p><p> 表1-1 Delphi的數(shù)據(jù)庫特性</p><p> 工具和部件 主要用途</p><p> Data Access Components 訪問數(shù)據(jù)庫、數(shù)據(jù)庫表、存貯過程等</p><p> Data Control Comp
27、onents 與用戶交互,提供顯示、修改數(shù)據(jù)庫中數(shù)據(jù)的界面</p><p> Database Desktop(DBD) 建立、索引、查詢數(shù)據(jù)庫表以及訪問、編輯來自各數(shù)據(jù)中的數(shù)據(jù)</p><p> ReportSmith 建立、瀏覽和打印數(shù)據(jù)庫表中的數(shù)據(jù)</p><p> Borland Databa
28、se Engine(BDE) 數(shù)據(jù)庫應(yīng)用通過BDE訪問dBASE Paradox數(shù)據(jù)庫中的數(shù)據(jù)和本地InterBase數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)</p><p> BDE Configuration Utility 建立和管理BDE與數(shù)據(jù)庫建立連接時(shí)所使用的數(shù)據(jù)庫別名</p><p> Local InterBase Server 是一個(gè)單用戶、多例程的本地S
29、QL數(shù)據(jù)庫服務(wù)器,可在單機(jī)環(huán)境下用來開發(fā)或測(cè)試客戶/服務(wù)器數(shù)據(jù)庫應(yīng)用程序,然后再將之?dāng)U展成一個(gè)訪問遠(yuǎn)程數(shù)據(jù)庫服務(wù)器如ORACLE、SyBase、Informix等</p><p> InterBase SQL Link 連接Delphi數(shù)據(jù)庫應(yīng)用程序一本地InterBase服務(wù)器的驅(qū)動(dòng)程序</p><p> Delphi上述這些特性使得創(chuàng)建數(shù)據(jù)庫應(yīng)用程序通過BDE
30、能夠很靈活地與dBASE、Paradox、Local InterBase數(shù)據(jù)庫服務(wù)器進(jìn)行連接并可以方便地訪問其中的數(shù)據(jù)。用戶在創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫應(yīng)用時(shí)通過使用Delphi提供的上述工具和部件甚至可以不許編寫任何程序。</p><p> BDE被自動(dòng)地包含在Delphi中,因此,在創(chuàng)建數(shù)據(jù)庫應(yīng)用程序時(shí),不必關(guān)系BDE的有關(guān)內(nèi)容。Delphi的安裝程序自動(dòng)為Paradox、dBASE和本地InterBaseSer
31、ver安裝相應(yīng)的驅(qū)動(dòng)程序,并建立了有關(guān)的配置,DBE Configuration Utility可以建立應(yīng)用程序與數(shù)據(jù)庫的連接信息,還可以為數(shù)據(jù)庫設(shè)置別名。</p><p> 1.1.2 Delphi可以訪問的數(shù)據(jù)源(DataSource)</p><p> Delphi數(shù)據(jù)庫應(yīng)用程序是通過BDE獲取它們所需的數(shù)據(jù)的,BDE與不同類型的數(shù)據(jù)源打交道,BDE可以使用的數(shù)據(jù)源見表1-2。
32、</p><p> 表1-2 Delphi可訪問的數(shù)據(jù)源</p><p> 數(shù)據(jù)源(DataSource) 文件擴(kuò)展名 特性描述 </p><p> dBASE數(shù)據(jù)庫 .DBF 數(shù)據(jù)庫表是通過dBASE數(shù)據(jù)庫管理系統(tǒng)或DBD建立的,每個(gè)表是一個(gè)獨(dú)立的文件</p>
33、<p> Paradox數(shù)據(jù)庫 .DB 數(shù)據(jù)庫表是通過Paradox數(shù)據(jù)庫管理系統(tǒng)或DBD建立,每個(gè)表是一個(gè)獨(dú)立的文件</p><p> ASCII文件 .TXT 表是通過Database Desktop建立的,每個(gè)</p><p><b> 表是一個(gè)獨(dú)立的文件</b><
34、;/p><p> 本地InterBase服務(wù)器 .GDB 數(shù)據(jù)庫是通過InterBase數(shù)據(jù)庫管理系統(tǒng)建立的,多個(gè)表包含在一個(gè)數(shù)據(jù)庫文件中</p><p> SQL數(shù)據(jù)庫服務(wù)器: 依賴不同的數(shù) 數(shù)據(jù)庫是通過相應(yīng)的數(shù)據(jù)庫服務(wù)器提供的</p><p> ORACLE,Sybase, 據(jù)庫管理系統(tǒng) 專用或通過工具建立的,也可以通過D
35、BD</p><p> Informix Microsoft 來創(chuàng)建數(shù)據(jù)庫,并通過SQL Link訪問數(shù)</p><p> SQL Server InterBase 據(jù)庫</p><p> ODBC數(shù)據(jù)源 依賴于相應(yīng)的 主要是指那些具有ODBC接口的數(shù)據(jù)庫系</p
36、><p> 數(shù)據(jù)庫 統(tǒng)如MS Access,Btrieve等 </p><p> 1.2 數(shù)據(jù)訪問部件</p><p> 數(shù)據(jù)訪問組件頁上提供了一組數(shù)據(jù)訪問組件用來訪問數(shù)據(jù)庫中的數(shù)據(jù)。當(dāng)要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫應(yīng)用時(shí),首先在窗口中選擇一個(gè)數(shù)據(jù)訪問組件,然后為數(shù)據(jù)訪問組件設(shè)置有關(guān)的屬性,說明要訪問的數(shù)據(jù)庫、數(shù)據(jù)表及表中的記錄等,數(shù)據(jù)訪問組
37、件為數(shù)據(jù)控制組件與數(shù)據(jù)源建立了一條通道。數(shù)據(jù)訪問組件在程序運(yùn)行時(shí)是不可見的。圖1-1是Delphi6提供的通過BDE接口訪問數(shù)據(jù)庫的數(shù)據(jù)訪問組件。</p><p> 圖1-1 BDE頁上的數(shù)據(jù)訪問組件</p><p><b> Ttable部件</b></p><p> Ttable構(gòu)件是Delphi中最基本、最靈活的數(shù)據(jù)集構(gòu)件??梢允?/p>
38、用該構(gòu)件存取數(shù)據(jù)庫表的每一行、每一列。通過Ttable構(gòu)件,你可以按行按列查看和編輯數(shù)據(jù)庫表中的數(shù)據(jù),也可以設(shè)置條件,確定一個(gè)操作的記錄范圍。利用Ttable部件程序員甚至可以不需要編寫任何程序便可對(duì)數(shù)據(jù)庫進(jìn)行訪問,在一個(gè)應(yīng)用程序中放置一個(gè)Ttable部件的過程如下:</p><p> 在部件選擇板上選擇Data Access頁。</p><p> 單擊Table圖標(biāo)。</p&g
39、t;<p> 在窗體內(nèi)單擊鼠標(biāo),獲得一個(gè)Ttable部件。</p><p> 為Ttable部件設(shè)置有關(guān)屬性:</p><p> DatabaseName屬性指定要訪問的數(shù)據(jù)庫所在的路徑名,路徑名可以用別名來表示。</p><p> TableName屬性指定要訪問數(shù)據(jù)庫中具體的數(shù)據(jù)庫表。</p><p> Activ
40、e屬性設(shè)置為True時(shí),表示打開要訪問的數(shù)據(jù)庫表;設(shè)置為False時(shí),暫時(shí)不打開要訪問的數(shù)據(jù)庫表。</p><p> 缺省情況下,Ttable部件中包含了要訪問數(shù)據(jù)庫表中所有字段和記錄,用鼠標(biāo)雙擊Ttable圖標(biāo)時(shí),會(huì)出現(xiàn)一個(gè)字段編輯器(Fields Editor),使用Fields Editor可以對(duì)Ttable部件中包含的數(shù)據(jù)庫表中的字段的顯示格式等屬性進(jìn)行編輯。</p><p>&
41、lt;b> TQuery部件</b></p><p> Tquery構(gòu)件提供一種使用SQL語句進(jìn)行數(shù)據(jù)訪問的方法。該方法可以指定一個(gè)表中需要使用的記錄集合或列集合,也可以指定需要同時(shí)訪問的多個(gè)數(shù)據(jù)表。Tquery部件是程序員使用SQL語言開發(fā)數(shù)據(jù)庫應(yīng)用程序的有力工具,因?yàn)槭褂肧QL語言,可以非常方便靈活地對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫表中的記錄進(jìn)行訪問,所以利用Tquery可以查詢本地的數(shù)據(jù)庫如para
42、dox和dBASE數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù),還可以使用Tquery部件對(duì)一個(gè)遠(yuǎn)地的數(shù)據(jù)庫SQL服務(wù)器進(jìn)行訪問,建立客戶/服務(wù)器模式的應(yīng)用程序。</p><p> DatabaseName屬性指定將要訪問的數(shù)據(jù)庫的路徑名。</p><p> SQL屬性指定對(duì)數(shù)據(jù)庫表進(jìn)行訪問的SQL語句。在對(duì)象瀏覽器上,單擊SQL屬性時(shí),會(huì)打開一個(gè)字符串編輯器供程序設(shè)計(jì)者輸入SQL語句。在Tquery部件中,不
43、是用TableName屬性來指定要訪問的數(shù)據(jù)庫中的數(shù)據(jù)庫表,而是在SQL屬性中,通過SQL語句來指定將要訪問的數(shù)據(jù)庫表。</p><p> TdataSource部件</p><p> TdataSource部件是連接數(shù)據(jù)集部件TTable、Tquery、TstoredProc和數(shù)據(jù)控制部件TDBGrid、TDBEdit等的橋梁,TTable、TQuery、TstoredProc部件通
44、過BDE可以實(shí)現(xiàn)與磁盤上的數(shù)據(jù)庫連接即訪問,但它們本身不能顯示數(shù)據(jù)庫中的數(shù)據(jù)信息,而數(shù)據(jù)控制部件如TDBGrid、TDBEdit等能夠提供可視化的界面,顯示數(shù)據(jù)庫中的數(shù)據(jù)信息,但它們不具備訪問磁盤數(shù)據(jù)庫的能力,正是TdataSource將這兩者有機(jī)地結(jié)合起來,使得用戶才能交互地對(duì)數(shù)據(jù)庫中的數(shù)據(jù)信息進(jìn)行查詢、修改、插入、刪除等操作。</p><p> 同樣按照上述方法在窗體中添加TdataSource部件,該部件
45、最重要的屬性是Dataset。</p><p> Dataset屬性指定一個(gè)數(shù)據(jù)集部件,可以是TTable、TQuery或TstoredProc部件的名字。</p><p> 1.3 數(shù)據(jù)控制部件</p><p> 數(shù)據(jù)控制部件頁上的部件,主要用于設(shè)計(jì)用戶界面,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行瀏覽、編輯、插入、刪除等操作。因而數(shù)據(jù)控制部件常常又被稱為數(shù)據(jù)瀏覽部件,數(shù)據(jù)控
46、制部件其實(shí)是在Standard頁上的標(biāo)準(zhǔn)部件的基礎(chǔ)上,相應(yīng)地增加了數(shù)據(jù)瀏覽功能,使得它們能夠顯示和編輯數(shù)據(jù)庫中數(shù)據(jù)信息。如圖1-2所示。</p><p> 圖1-2 數(shù)據(jù)控制頁上的數(shù)據(jù)控制部件</p><p> 數(shù)據(jù)控制部件既能夠把數(shù)據(jù)庫中的數(shù)據(jù)顯示到窗體中,又可以將其自身的經(jīng)過修改的數(shù)據(jù)寫回到數(shù)據(jù)庫中。表1-3列出了數(shù)據(jù)控制頁上的數(shù)據(jù)控制部件及它們的主要用途。</p>
47、<p> 表1-3 數(shù)據(jù)控制部件</p><p> 部件名稱 主要用途</p><p> TDBGrid 用網(wǎng)格的形式顯示數(shù)據(jù)庫表中的記錄信息,網(wǎng)格中的各列可以在設(shè)計(jì)階段使用字段編輯器創(chuàng)建也可以在運(yùn)行過程中用程序設(shè)定</p><p> TDBNavigator 使用該部件可以向前
48、向后移動(dòng)記錄指針,可以使用該部件對(duì)單條記錄進(jìn)行編輯,還可以用它來插入、刪除記錄以及刷新顯示和取消前一次的操作</p><p> TDBText 它是顯示數(shù)據(jù)庫中的數(shù)據(jù)的文本框,它只能顯示數(shù)據(jù)庫表當(dāng)前記錄的字段值,用戶不能對(duì)其中的數(shù)據(jù)進(jìn)行修改</p><p> TDBEdit 它是顯示和編輯數(shù)據(jù)庫表中數(shù)據(jù)的編輯框,它可以顯示和編輯數(shù)據(jù)表
49、中當(dāng)前記錄的字段值</p><p> TDBCheckBox 它是瀏覽數(shù)據(jù)庫中的數(shù)據(jù)的檢查框,它可以用來顯示和編輯數(shù)據(jù)庫中的布爾型字段的字段值</p><p> TDBListBox 它是瀏覽數(shù)據(jù)庫中的數(shù)據(jù)的列表框,它可以用一個(gè)列表框來顯示數(shù)據(jù)庫表中一個(gè)字段的值</p><p> TDBComboBox 是瀏覽
50、數(shù)據(jù)庫中的數(shù)據(jù)的組合框,可以用一個(gè)組合框來顯示數(shù)據(jù)表中一個(gè)字段的值</p><p> TDBRadioGroup 是瀏覽數(shù)據(jù)庫表中的數(shù)據(jù)的單選鈕,用一組單選鈕可以確定數(shù)據(jù)表中那一個(gè)字段</p><p> TDBMemo 主要用于瀏覽數(shù)據(jù)庫中備注型的字段,可以用來顯示數(shù)據(jù)表中當(dāng)前記錄中的BLOB型字段</p><p> TDBI
51、mage 是瀏覽數(shù)據(jù)庫中的數(shù)據(jù)的圖象框,可以用于顯示、拷貝、粘貼數(shù)據(jù)庫表中圖象類型的字段</p><p> TDBLookUpList 是瀏覽數(shù)據(jù)表中的數(shù)據(jù)的列表框,在基于一個(gè)數(shù)據(jù)庫表的應(yīng)用中,用它可以顯示另一個(gè)數(shù)據(jù)庫表中一個(gè)指定的字段值</p><p> TDBLookUpCombox 是瀏覽數(shù)據(jù)庫表中的數(shù)據(jù)的組合框,在基于一個(gè)數(shù)據(jù)庫表的應(yīng)用中,
52、用它可以顯示另一個(gè)數(shù)據(jù)庫表中一個(gè)指定的字段值</p><p> TDBRichEdit 以RTF格式顯示備注字段的內(nèi)容</p><p> TDBCtrlGrid 與TDBGrid相似,但每一個(gè)單元都可以分別設(shè)置屬性</p><p> TDBChart 以圖表的形式顯示數(shù)據(jù)庫的數(shù)據(jù),用法與Tchart相似
53、 </p><p> 數(shù)據(jù)控制部件為開發(fā)Delphi數(shù)據(jù)庫應(yīng)用程序提供可視化的用戶界面,不管應(yīng)用程序是訪問本地?cái)?shù)據(jù)庫中的數(shù)據(jù)文件,還是訪問遠(yuǎn)程數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)文件,用戶界面都是一致的,即數(shù)據(jù)庫的物理位置對(duì)數(shù)據(jù)控制部件是透明的。</p><p> 以上我們介紹了一些利用Delphi開發(fā)數(shù)據(jù)庫的基本控件,在以后的開發(fā)應(yīng)用程序過程中,它們得到了大量使用。</p>
54、;<p> 1.4 數(shù)據(jù)庫訪問技術(shù)</p><p> Delphi提供了對(duì)BDE、ODBC等多種數(shù)據(jù)庫驅(qū)動(dòng)的支持,能夠滿足不同應(yīng)用對(duì)數(shù)據(jù)庫程序開發(fā)的需要。在發(fā)布用Delphi開發(fā)的數(shù)據(jù)庫程序時(shí),除了要安裝應(yīng)用程序之外,還需要同時(shí)發(fā)布數(shù)據(jù)庫驅(qū)動(dòng)程序,以保證程序與數(shù)據(jù)庫能夠正確地連接。</p><p> BDE(Borland數(shù)據(jù)庫引擎)是一個(gè)API定義,它為Delphi
55、應(yīng)用程序提供一個(gè)本地?cái)?shù)據(jù)庫支持。Borland數(shù)據(jù)庫管理器提供BDE的配置管理。BDE管理器在控制面板的應(yīng)用程序中,它使您可以為被支持的數(shù)據(jù)庫和ODBC別名指定一個(gè)別名,此別名使用本地BDE數(shù)據(jù)庫驅(qū)動(dòng)程序。當(dāng)您在應(yīng)用程序中包括BDE單元的時(shí)候,你可以使用本地C/C++類型的API調(diào)用來直接管理數(shù)據(jù)庫。在Delphi6下通過TTable、TQuery和TstoredProc等控件就可以完全實(shí)現(xiàn)基于BDE驅(qū)動(dòng)的數(shù)據(jù)庫訪問。</p>
56、;<p> 開放式數(shù)據(jù)庫連接驅(qū)動(dòng)引擎ODBC是20世紀(jì)90年代流行起來的,它為應(yīng)用程序創(chuàng)建一個(gè)數(shù)據(jù)庫連接的協(xié)議。它也是一個(gè)API定義。每一個(gè)廠商都可以創(chuàng)建DLL來實(shí)現(xiàn)同等的并與ODBC API兼容的API過程。ODBC的一個(gè)重要的目標(biāo)是將應(yīng)用程序?qū)懙絆DBC API中,開發(fā)者改變數(shù)據(jù)庫引擎而不用修改代碼。這個(gè)特性和靈活性是ODBC得到廣泛使用。</p><p> 第2章 人事管理系統(tǒng)系統(tǒng)設(shè)計(jì)&
57、lt;/p><p> 2.1 系統(tǒng)功能分析</p><p> 開發(fā)數(shù)據(jù)庫的應(yīng)用程序之前,必須清楚地了解程序需要實(shí)現(xiàn)的各項(xiàng)功能,對(duì)程序的功能塊做出清晰的劃分,設(shè)計(jì)出應(yīng)用程序的結(jié)構(gòu)。這個(gè)應(yīng)用程序根據(jù)要實(shí)現(xiàn)的功能可分為四大部分:</p><p> ● 新員工資料的輸入;</p><p> ● 人事變動(dòng)的詳細(xì)記錄,包括崗位和部門的調(diào)整;
58、</p><p> ● 員工信息的查詢,包括簡(jiǎn)單查詢(根據(jù)員工號(hào))和模糊查詢;</p><p> ● 員工信息的修改;</p><p> 2.2 系統(tǒng)功能模塊的設(shè)計(jì)</p><p> 圖2-1 人事管理系統(tǒng)功能模塊圖</p><p> 具體各功能塊完成的任務(wù)如下:</p>&l
59、t;p> 用戶登錄功能塊首先利用用戶登錄功能塊實(shí)現(xiàn)對(duì)用戶的分類,普通員工和管理員,他們具有不同的權(quán)限,有不同的員工號(hào)和密碼。不同用戶會(huì)進(jìn)入不同的界面,完成不同的功能。用戶必須輸入正確的員工號(hào)和密碼才能進(jìn)入下一個(gè)界面,如果用戶名或密碼錯(cuò)誤,應(yīng)用程序會(huì)給出不同的出錯(cuò)信息。</p><p> 新員工系統(tǒng)界面,管理人員主要完成以下功能:?jiǎn)T工基本信息的錄入、員工加入公司時(shí)間以及新員工加入的人事變動(dòng)記錄。</
60、p><p> 人事變動(dòng)功能塊中,管理員要輸入具體的變動(dòng)信息,如記錄號(hào)、變動(dòng)時(shí)間、變動(dòng)原因等。應(yīng)用程序負(fù)責(zé)把管理員輸入的信息存入到人事變動(dòng)列表中,為以后的查詢提供人事變動(dòng)方面的資料。</p><p> 員工信息查詢界面,普通員工和管理員都可進(jìn)入,來查詢員工信息。此功能塊應(yīng)能實(shí)現(xiàn)兩大功能:其一,這種功能實(shí)現(xiàn)比較簡(jiǎn)單:系統(tǒng)根據(jù)查詢?nèi)藛T輸入的員工編號(hào)來進(jìn)行查詢;另一功能相對(duì)復(fù)雜一點(diǎn),系統(tǒng)能根據(jù)查詢
61、人員輸入的不確定信息來找出具有某種屬性的人員,例如:只知道某員工是女性,根據(jù)此信息,找出公司里的全部女性成員。在此基礎(chǔ)上可進(jìn)一步查詢,如還知道她屬于那一部門,這樣可進(jìn)一步縮小查詢范圍。查詢結(jié)果由查詢?nèi)藛T提供的信息量決定。</p><p> 員工信息修改界面,只有管理人員才能進(jìn)入,主要對(duì)員工的某些信息進(jìn)行修改,如員工號(hào)、密碼、所屬部門、職務(wù)等的變動(dòng)。</p><p> 刪除員工信息界面,
62、可根據(jù)員工號(hào)刪除本員工的所有信息。</p><p><b> 數(shù)據(jù)流程圖</b></p><p> 系統(tǒng)的數(shù)據(jù)流程圖如圖2-2所示,所有數(shù)據(jù)由人事科管理人員輸入。</p><p> 圖2-2 人事管理系統(tǒng)數(shù)據(jù)流程圖</p><p> 2.3 數(shù)據(jù)庫設(shè)計(jì)</p><p> 2.3.1
63、 數(shù)據(jù)庫需求分析</p><p> 根據(jù)數(shù)據(jù)流程圖,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 員工信息:?jiǎn)T工號(hào)、密碼、權(quán)限、姓名、性別、生日、部門、職務(wù)、教育程度、專業(yè)、通訊地址、電話、E-mail、當(dāng)前狀態(tài)、其他。</p><p> 人事變動(dòng):記錄號(hào)、姓名、變動(dòng)原因、變動(dòng)時(shí)間、變更原因等。</p><p> 2.3.2 數(shù)
64、據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p> 圖2-3 是人事管理系統(tǒng)的E-R圖。 歸 屬</p><p><b> 變動(dòng)-員工</b></p><p><b> 管 理</b></p><p> 圖2-3 人事管理系統(tǒng)E-R圖</p><p&g
65、t; 再設(shè)置部門、職務(wù)、學(xué)歷、用戶權(quán)限、變動(dòng)原因的備選范圍分別為:</p><p> 部門:生產(chǎn)部、規(guī)劃部、人事部、銷售部、后勤部</p><p> 職務(wù):小組成員、組長(zhǎng)、項(xiàng)目經(jīng)理、部門經(jīng)理、總經(jīng)理</p><p> 學(xué)歷:高中、中專、大專、大學(xué)本科、碩士、博士、博士后</p><p> 用戶權(quán)限:查詢、添加與修改</p>
66、;<p> 變動(dòng)原因:新員工加入、職務(wù)變動(dòng)、辭退</p><p> 當(dāng)前狀態(tài):?jiǎn)T工、非員工</p><p> 2.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)</p><p> 根據(jù)系統(tǒng)E-R圖,本系統(tǒng)需要有2個(gè)數(shù)據(jù)表分別來存放員工個(gè)人信息和人事變動(dòng)記錄。這2個(gè)數(shù)據(jù)表的結(jié)構(gòu)如表2-1和2-2所示。</p><p> 表2-1 PERSO
67、N員工個(gè)人信息表</p><p> 表2-2 PERSONNALCHANGE 人事變更記錄表</p><p> 至此,系統(tǒng)的總體設(shè)計(jì)已經(jīng)完成。</p><p> 第3章 數(shù)據(jù)庫的建立</p><p> 在此應(yīng)用程序中,是用SQL Server 2000來建立數(shù)據(jù)庫。首先,讓我們了解一下Microsoft SQL Serv
68、er 2000。</p><p> 3.1 SQL Selver 概述</p><p> Microsoft SQL Server 2000是一個(gè)面向二十一世紀(jì)的高性能的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是微軟.NET戰(zhàn)略的重要一環(huán)。SQL Server 是一種基于客戶機(jī)/服務(wù)器的Relational Database Management System(關(guān)系型數(shù)據(jù)庫管理系統(tǒng)),或者簡(jiǎn)稱RDBM
69、S,是用來建立數(shù)據(jù)庫的引擎。</p><p> SQL Server 使用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)將所有的工作負(fù)荷分解成在服務(wù)器上的任務(wù)和在客戶機(jī)上的任務(wù)??蛻魴C(jī)應(yīng)用程序負(fù)責(zé)商業(yè)邏輯和向用戶提供數(shù)據(jù),一般運(yùn)行在一個(gè)或多個(gè)客戶機(jī)上,也可以運(yùn)行在服務(wù)器上。服務(wù)器管理數(shù)據(jù)庫和分配可用的數(shù)據(jù)庫資源,如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤操作??蛻魴C(jī)應(yīng)用程序界面允許應(yīng)用程序在單獨(dú)的客戶機(jī)上運(yùn)行,并且通過網(wǎng)絡(luò)與服務(wù)器通訊。</p>
70、;<p> SQL Server 2000 是作為服務(wù)器運(yùn)行的Windows應(yīng)用程序,與Windows NT和Windows 2000完全集成,并且利用了NT的許多功能。SQL Server 2000可與Windows NT 的安全性系統(tǒng)集成、可支持多協(xié)議、作為NT的服務(wù)、利用NT的性能監(jiān)測(cè)器和使用Microsoft Index Server。這就是說,它要運(yùn)行在Windows環(huán)境下,并且啟動(dòng)后需要極少的用戶交互。SQL
71、 Server 2000 提供了用于建立用戶連接、提供數(shù)據(jù)安全性和查詢請(qǐng)求服務(wù)的全部功能。你所要做的是建立一個(gè)數(shù)據(jù)庫和與之交互的應(yīng)用程序,不用為背景過程擔(dān)心。</p><p> SQL Server包括三個(gè)服務(wù),既SQL Server, SQL Server Agent 和 Distributed Transaction Coordinator(MSDTC)服務(wù)。SQL Server 服務(wù)器就是SQL Serv
72、er 的RDBMS。SQL Server Agent 服務(wù)用于管理任務(wù)、警報(bào)和操作員。MSDTC 服務(wù)是并列事務(wù)管理器,用于管理分布于兩個(gè)以上的數(shù)據(jù)庫、消息隊(duì)列或文件系統(tǒng),協(xié)調(diào)多服務(wù)器之間的事務(wù)一致性。</p><p> 3.2 創(chuàng)建數(shù)據(jù)庫</p><p> 創(chuàng)建數(shù)據(jù)庫的過程實(shí)際上就是為數(shù)據(jù)庫提供名稱、大小和所存放的數(shù)據(jù)庫文件的過程。數(shù)據(jù)庫的名稱必須滿足系統(tǒng)的標(biāo)識(shí)符規(guī)則。數(shù)據(jù)庫名稱最
73、長(zhǎng)可達(dá)128個(gè)字符,第一個(gè)字符必須是字母,其余的字符可以是字母、數(shù)字和幾個(gè)特殊符號(hào),例如:@, $, #, -。在給數(shù)據(jù)庫命名時(shí),一定要使數(shù)據(jù)庫名稱簡(jiǎn)短且有意義。數(shù)據(jù)庫的信息屬于系統(tǒng)級(jí)的信息,存貯在master數(shù)據(jù)庫的sysdatabases系統(tǒng)表中。因此,在創(chuàng)建數(shù)據(jù)庫的時(shí)候,當(dāng)前數(shù)據(jù)庫應(yīng)該是master數(shù)據(jù)庫。當(dāng)新數(shù)據(jù)庫創(chuàng)建后,系統(tǒng)自動(dòng)把model數(shù)據(jù)庫中的系統(tǒng)表復(fù)制到新數(shù)據(jù)庫中。這樣,新數(shù)據(jù)庫自動(dòng)具有model數(shù)據(jù)庫中的系統(tǒng)表結(jié)構(gòu)。
74、創(chuàng)建數(shù)據(jù)庫需要一定的許可。在默認(rèn)情況下,只有sysadmin和 dbcreator 固定服務(wù)器角色的成員才擁有創(chuàng)建數(shù)據(jù)庫的許可。當(dāng)然,這種許可也可以授權(quán)給其他用戶。當(dāng)數(shù)據(jù)庫創(chuàng)建之后,數(shù)據(jù)庫的用戶就自動(dòng)成為數(shù)據(jù)庫的所有者。在一個(gè)服務(wù)器中,最多能創(chuàng)建32767個(gè)數(shù)據(jù)庫。</p><p> 創(chuàng)建數(shù)據(jù)庫有3種方法:</p><p> ?。?) 使用創(chuàng)建數(shù)據(jù)庫向?qū)В?lt;/p><
75、p> ?。?) 使用SQL Server Enterprise Manager;</p><p> ?。?) 使用CREATE DATABASE 語句。</p><p> 本應(yīng)用程序使用SQL Server Enterprise Manager (企業(yè)管理器)創(chuàng)建數(shù)據(jù)庫??砂匆韵虏襟E創(chuàng)建數(shù)據(jù)庫。</p><p> 啟動(dòng)企業(yè)管理器,在左邊的目錄結(jié)構(gòu)中打開指定
76、的服務(wù)器組和服務(wù)器,選擇其中的數(shù)據(jù)庫文件夾。右擊該文件夾,則彈出一個(gè)快捷菜單,在該菜單中選擇“新建數(shù)據(jù)庫”選項(xiàng)。這時(shí)出現(xiàn)“數(shù)據(jù)庫屬性”窗口,在該窗口中有三個(gè)選項(xiàng)卡:常規(guī),數(shù)據(jù)文件和事物日志。常規(guī)選項(xiàng)卡最上面的部分要求在一個(gè)文本框中輸入該數(shù)據(jù)庫的名稱。中間是該數(shù)據(jù)庫的狀態(tài)屬性,最下面是該數(shù)據(jù)庫的對(duì)照名,使用默認(rèn)值即可。此處不用設(shè)置“數(shù)據(jù)文件”與“事務(wù)日志”選項(xiàng)卡。此處,我們把應(yīng)用數(shù)據(jù)庫的數(shù)據(jù)庫名設(shè)為“renshi”,點(diǎn)擊確定按鈕,就設(shè)置了
77、名為“renshi”的新數(shù)據(jù)庫。</p><p> SQL Server 2000 對(duì)試圖訪問服務(wù)器的用戶將會(huì)進(jìn)行四層檢查。用戶每次都要被檢查是否具有適當(dāng)?shù)脑L問權(quán)。如果他們有,將被放行;如果沒有,用戶將收到一個(gè)出錯(cuò)信息,其進(jìn)程被終止。</p><p> 3.3 SQL Server 2000 數(shù)據(jù)庫表的創(chuàng)建和管理</p><p> 創(chuàng)建了一個(gè)數(shù)據(jù)庫以后,就可
78、以在該數(shù)據(jù)庫中創(chuàng)建表了表是一種最重要的數(shù)據(jù)庫對(duì)象,它在數(shù)據(jù)庫中存貯數(shù)據(jù),可以創(chuàng)建自己的數(shù)據(jù)表。同時(shí)表是用來存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù)的邏輯結(jié)構(gòu),其結(jié)構(gòu)和電子表格相似,由行和列組成。本文主要介紹創(chuàng)建SQL Server 2000 數(shù)據(jù)表的相關(guān)知識(shí)。使用企業(yè)管理器創(chuàng)建、修改和刪除表。</p><p> 企業(yè)管理器提供了方便的圖形化工具——表設(shè)計(jì)窗口,在這個(gè)窗口中可以輕松地創(chuàng)建并管理一個(gè)數(shù)據(jù)表,其步驟如下:</p>
79、;<p> (1)打開企業(yè)管理器,在企業(yè)管理器中的樹狀目錄窗口中展開需要?jiǎng)?chuàng)建新表的數(shù)據(jù)庫。</p><p> ?。?)單擊“表”節(jié)點(diǎn),此時(shí)該數(shù)據(jù)庫中的表對(duì)象會(huì)顯示在內(nèi)容窗口中,然后選擇下列操作之一打開表設(shè)計(jì)窗口。</p><p> 在該節(jié)點(diǎn)上單擊鼠標(biāo)右鍵,在彈出菜單中選擇“新建表”命令(如圖3-1所示);</p><p> 在操作菜單上選擇“操作
80、/新建表”命令;</p><p> 單擊工具欄上的“新建”按鈕。</p><p> 圖3-1 新建一個(gè)數(shù)據(jù)表</p><p> 1. 定義數(shù)據(jù)表字段</p><p> 表設(shè)計(jì)窗口由上下兩個(gè)窗口組成(如圖3-2所示),上面的窗口來定義表字段的一般屬性,下面的窗口用來定義各個(gè)表字段的特殊屬性。所謂一般屬性,是指表中所有字段共有的屬性,
81、如字段名、字段長(zhǎng)度、字段數(shù)據(jù)類型和字段值是否為空(如圖3-2)。而特殊屬性的設(shè)置會(huì)根據(jù)字段數(shù)據(jù)類型的不同而有所不同。例如,只有一個(gè)字段的數(shù)據(jù)類型為數(shù)值型時(shí),才能設(shè)置小數(shù)位數(shù)屬性。</p><p> 下面對(duì)創(chuàng)建表時(shí)經(jīng)常設(shè)置的屬性加以說明。</p><p> 列名:指定字段名稱,每個(gè)表至多可以定義1024個(gè)字段。字段名要遵守標(biāo)示符的規(guī)定,在特定表中必須是唯一的,但同一數(shù)據(jù)庫中的不同表可使用
82、相同的列名。</p><p> 數(shù)據(jù)類型:指定該字段的數(shù)據(jù)類型。用戶可以自己輸入也可以從下拉列表中選擇,但是輸入的數(shù)據(jù)類型必須與下拉列表中所列數(shù)據(jù)類型相匹配。如果定義了用戶自定義數(shù)據(jù)類型,該類型也會(huì)自動(dòng)出現(xiàn)在這個(gè)下拉列表框中。</p><p> 圖3-2 表設(shè)計(jì)窗口 </p><p> 長(zhǎng)度:指定字段的長(zhǎng)度,
83、也就是字段所占字節(jié)數(shù)。</p><p> 允許空:指定該字段在表中是否允許空值??罩当硎緵]有輸入,但并不等于零或零長(zhǎng)度的字符串(如“”)。如果指定一列不允許空值,那么用戶在向表中寫入數(shù)據(jù)時(shí)必須在列中輸入一個(gè)值,否則改行不被接收入數(shù)據(jù)庫。</p><p> 描述:指定字段的注釋文本描述。</p><p> 默認(rèn)值:指定字段的默認(rèn)值。默認(rèn)值是指在插入記錄時(shí)沒有指定
84、字段值的情況下,自動(dòng)使用的值。</p><p> 精度:指定該字段的位數(shù)。對(duì)于decimal和numeric數(shù)據(jù)類型的字段可以設(shè)置精度屬性。</p><p> 小數(shù)位數(shù):顯示該列值小數(shù)點(diǎn)右邊能出現(xiàn)的最多數(shù)字個(gè)數(shù)。</p><p> 標(biāo)識(shí):指定一個(gè)字段是否為標(biāo)識(shí)字段。只有bigint、int、smallint、tinyint、decimal和numeric可以設(shè)
85、置該屬性。可能的值有以下三個(gè)。</p><p> 否——不設(shè)置該字段為表識(shí)字段。</p><p> 是——指定該字段為標(biāo)識(shí)字段,設(shè)置了該屬性以后,在插入一個(gè)新的數(shù)據(jù)行時(shí)不必為字段指定數(shù)值,系統(tǒng)會(huì)根據(jù)標(biāo)識(shí)種子和標(biāo)識(shí)遞增量自動(dòng)生成一個(gè)字段值。</p><p> 是(不適用于復(fù)制)——和第二個(gè)選項(xiàng)功能相似,但如果是以復(fù)制的方式向表中輸入數(shù)據(jù),系統(tǒng)將不自動(dòng)生成字段值。
86、</p><p> 標(biāo)識(shí)種子:指定標(biāo)識(shí)字段的初始值。該選項(xiàng)只適用于其“標(biāo)識(shí)”屬性設(shè)置為“是”或“是(不適用于復(fù)制)”的字段,默認(rèn)值為1。</p><p> 標(biāo)識(shí)遞增量:指定標(biāo)識(shí)字段的遞增值。該選項(xiàng)只適用于其“標(biāo)識(shí)”屬性設(shè)置為“是”或“是(不適用于復(fù)制)”的字段,默認(rèn)值為1。</p><p> 排序規(guī)則:指定當(dāng)字段值用于對(duì)查詢結(jié)果的記錄進(jìn)行排序時(shí)的排序規(guī)則,默認(rèn)
87、情況下使用數(shù)據(jù)庫默認(rèn)設(shè)置。當(dāng)插入點(diǎn)移動(dòng)到此字段時(shí),可以單擊@@按鈕更改排序規(guī)則。</p><p> 本應(yīng)用程序采用系統(tǒng)默認(rèn)設(shè)置。如圖3-3所示。</p><p> 圖3-3 設(shè)置表字段屬性</p><p><b> 保存表格</b></p><p> 在完成以上步驟以后,就可以將表格保存。方法是單擊工具欄上的“
88、保存”按鈕@@,然后在“選擇名稱”對(duì)話框中輸入表名,單擊“確定”即可。</p><p> 圖3-4 PERSON員工信息表</p><p> 圖3-5 PERSONNALCHANGE人事變動(dòng)信息表</p><p> 3. 向表中添加數(shù)據(jù)</p><p> 剛剛建好的新表中不包含任何記錄,可按以下步驟向表中添加記錄:</p&g
89、t;<p> 在企業(yè)管理器的樹狀目錄中選擇剛剛建好的表格;</p><p> 選擇菜單:“操作/打開表/返回所有行”命令,打開數(shù)據(jù)錄入窗口;</p><p> 在數(shù)據(jù)錄入窗口輸入新的表記錄,也可以使用這個(gè)窗口對(duì)記錄進(jìn)行修改和刪除等操作。</p><p> 本應(yīng)用程序中所建的表如圖3-4和圖3-5所示</p><p>
90、3.4 連接ODBC數(shù)據(jù)源</p><p> 開放式數(shù)據(jù)庫連接(Open Database Connectivity, ODBC)是由Microsoft定義的一套數(shù)據(jù)庫訪問標(biāo)準(zhǔn),包含在所有的Microsoft Windows操作系統(tǒng)中。ODBC是一組重要的數(shù)據(jù)庫訪問API的集合,用來訪問關(guān)系型數(shù)據(jù)庫或者ISAM(indexed sequential access method)數(shù)據(jù)庫。ODBC可以用來訪問不
91、同平臺(tái)上的數(shù)據(jù)庫,例如SQL Server、Oracle或者DB2。</p><p> 在開始使用ODBC之前,必須安裝一個(gè)ODBC驅(qū)動(dòng)程序,并配置一個(gè)數(shù)據(jù)源。在系統(tǒng)上安裝任何一個(gè)支持Microsoft ODBC的應(yīng)用程序時(shí),一般都會(huì)安裝Microsoft SQL Server ODBC 驅(qū)動(dòng)程序。僅僅安裝了SQL Server ODBC驅(qū)動(dòng)程序,還不能使用ODBC,還需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)源。其過程如下:</
92、p><p> 在Windows 2000的管理工具中找到ODBC數(shù)據(jù)源管理器,雙擊該圖表,則顯示一個(gè)如圖3-6所示的窗口。</p><p> 圖3-6 ODBC數(shù)據(jù)源管理器</p><p> 在該窗口中,顯示了所有當(dāng)前安裝的數(shù)據(jù)源。用戶DSN選項(xiàng)卡顯示了可以由當(dāng)前登錄用戶使用的數(shù)據(jù)源清單;系統(tǒng)DSN選項(xiàng)卡顯示可以由系統(tǒng)上所有用戶使用的系統(tǒng)數(shù)據(jù)源清單;文件DSN選
93、項(xiàng)卡顯示可以連接到一個(gè)文件上的數(shù)據(jù)源清單。單擊“添加”按鈕,則出現(xiàn)創(chuàng)建新數(shù)據(jù)源對(duì)話框,在該窗口中,你可以選擇連接數(shù)據(jù)源的驅(qū)動(dòng)程序。這里,我們選擇SQL Server,單擊完成按鈕,則轉(zhuǎn)向下一對(duì)話框,它是與你選擇的驅(qū)動(dòng)程序相關(guān)的。在該窗口中,輸入DSN名稱“renshi”、數(shù)據(jù)源描述(設(shè)為空)以及連接的主機(jī)名。單擊“下一步”按鈕。下一步是選擇認(rèn)證模式,選擇“使用網(wǎng)絡(luò)登錄ID的Windows NT驗(yàn)證”項(xiàng),單擊“下一步”按鈕,則出現(xiàn)圖3-7
94、。設(shè)置默認(rèn)數(shù)據(jù)庫為“renshi”,其余選項(xiàng)采用默認(rèn)設(shè)置,單擊“下一步”按鈕,在出現(xiàn)的新窗口中繼續(xù)采用默認(rèn)設(shè)置。單擊“完成”按鈕,數(shù)據(jù)源配置完成。接著彈出一個(gè)確認(rèn)完成配置的對(duì)話框,在該對(duì)話框中,總結(jié)了用戶選擇的所有設(shè)置,并允許測(cè)試數(shù)據(jù)源以確??捎?。單擊“測(cè)試數(shù)據(jù)源”按鈕以檢測(cè)連接,如果連接成功,會(huì)出現(xiàn)“測(cè)試成功”對(duì)話框。</p><p> 圖 3-7 ODBC SQL Server DSN配置對(duì)話框</
95、p><p> 至此,就建立了一個(gè)名為“renshi”的SQL Server ODBC數(shù)據(jù)源,可以在應(yīng)用程序中使用它了。</p><p> 第4章 系統(tǒng)各功能模塊的實(shí)現(xiàn)</p><p> 根據(jù)系統(tǒng)功能要求,可以將系統(tǒng)分解成八個(gè)功能模塊來分別設(shè)計(jì):人事管理系統(tǒng)主窗口、系統(tǒng)登錄模塊、增加新員工模塊、人事變動(dòng)模塊、簡(jiǎn)單查詢模塊、復(fù)雜查詢模塊、員工信息修改模塊、刪除員工信
96、息模塊和About窗口。與此對(duì)應(yīng)的是該程序由9個(gè)窗體組成,各窗體設(shè)置如表4-1所示。</p><p> 表4-1 窗體設(shè)計(jì)對(duì)照表</p><p> 4.1 主窗口的創(chuàng)建</p><p> 啟動(dòng)Windows,并從“開始”菜單選擇“Borland Delphi 6”/“Delphi 6”,以啟動(dòng)Delphi。在“File”菜單中選擇“New Applicat
97、ion”選項(xiàng),系統(tǒng)將創(chuàng)建一個(gè)名為Project1的新工程。</p><p> 4.1.1 菜單的創(chuàng)建</p><p> 在Delphi中可使用組件欄和菜單設(shè)計(jì)器快速建立自己的菜單。實(shí)際應(yīng)用中,菜單可分為兩種基本類型:主菜單(mainmenu)和彈出式菜單(popmenu)。主菜單一般稱為菜單欄,其中包括一個(gè)或多個(gè)選擇項(xiàng)稱為菜單項(xiàng)。主菜單控件對(duì)象在設(shè)計(jì)期窗體上顯示為正方型的區(qū)塊,對(duì)象名
98、為“MainMenu”,雙擊這個(gè)對(duì)象即彈出菜單設(shè)計(jì)窗口。選中菜單項(xiàng),就可以在對(duì)象監(jiān)視窗口中修改菜單項(xiàng)的屬性。</p><p> 在對(duì)象編輯器中,輸入其caption屬性(例如:File,Edit等),若輸入“&B標(biāo)題板”則表示可按<Ctrl>+<B>或<Alt>+<B>鍵來選擇此功能,其中“&”符號(hào)后的第一個(gè)字符稱為加速字符。若輸入“-”則表示要建
99、立菜單的分隔線,將菜單項(xiàng)分組。</p><p> 有時(shí)會(huì)在已建好的菜單中,插入一個(gè)新的菜單項(xiàng)或刪除一個(gè)菜單選項(xiàng),這時(shí)就可用鼠標(biāo)選定將要插入或刪除的位置,按<Insert>鍵則新的空白菜單項(xiàng)會(huì)出現(xiàn)在所選位置的左側(cè),若按<Delete>鍵則將刪除所選菜單項(xiàng)。</p><p> 4.1.2 設(shè)置菜單主要屬性</p><p> 表4-2 菜
100、單屬性表</p><p> 菜單欄 菜單項(xiàng)(菜單欄) 菜單項(xiàng) 屬性 取值 (說明)</p><p> S1 Caption &S 系統(tǒng)</p><p> C1 Caption &C 連接</p><
101、p> Shortcut F2</p><p> D1 Caption &D 斷開連接</p><p> Shortcut F3</p><p> N1 Caption -(用作分割線)</p><p> X1
102、 Caption &X退出</p><p> Shortcut Ctrl+Q</p><p> M1 Caption &M人事管理</p><p> A1 Caption &A增
103、加新員工</p><p> C1 Caption &C人事變動(dòng)</p><p> S2 Caption &S員工信息查詢</p><p> E1 Caption &E根據(jù)員工號(hào)查詢</p><p>
104、D2 Caption &D模糊查詢</p><p> R1 Caption &R員工信息修改</p><p> D3 Caption &D刪除員工信息</p><p> H1
105、 Caption &H幫助</p><p> A2 Caption &A關(guān)于</p><p> 4.1.3 給主窗口添加圖像</p><p> 圖象控件Timage可實(shí)現(xiàn)此功能。圖象控件Timage是一種容器控件,它在應(yīng)用程序窗體上提供一個(gè)巨型區(qū)域,用于顯示各種位圖、圖標(biāo)、圖元文
106、件。雙擊控件欄additional頁上的Image控件,在主窗口form1中添加Image控件。選定Image控件,單擊對(duì)象編輯器中的Picture屬性行擴(kuò)展符號(hào)按鈕,打開對(duì)話框,單擊load按鈕,選擇圖形文件。這時(shí),只顯示圖形的一角,如果要顯示全圖,有兩種辦法。其一,在對(duì)象編輯器中,修改autosize屬性值為true,則Image控件可自動(dòng)調(diào)整大小以適應(yīng)調(diào)入的圖形;其二,在對(duì)象編輯器中,修改stretch屬性值為true,則Imag
107、e控件大小不變,圖形則自動(dòng)縮小或放大以適應(yīng)Image控件的大小。當(dāng)兩個(gè)屬性都設(shè)置為true時(shí),則優(yōu)先響應(yīng)autosize屬性,既調(diào)整Image控件大小,以適應(yīng)調(diào)入的圖形。</p><p> 也可以通過調(diào)用過程:</p><p> procedure LoadFromFile(const FileName: string); virtual; 在程序運(yùn)行期間調(diào)入圖形。</p>
108、<p> 經(jīng)過以上方法,可設(shè)置本應(yīng)用程序的主窗口,如圖4-1所示。</p><p> 圖4-1 人事管理系統(tǒng)主窗口</p><p> 4.1.4 添加代碼</p><p> 主窗體需要調(diào)用其他各窗體,因此uses子句中需包含以下項(xiàng)目</p><p> login,add,change,isearch,dsearch
109、,modify,about;</p><p> 各菜單項(xiàng)的OnClick事件處理程序代碼如下:</p><p> procedure TForm1.C1Click(Sender: TObject);</p><p><b> begin</b></p><p> form2.Show ;</p>&
110、lt;p><b> end;</b></p><p> procedure TForm1.FormCreate(Sender:TObject);</p><p><b> begin</b></p><p> D1.Enabled :=false;</p><p> M1.Enabl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)-基于delphi的人事管理系統(tǒng)設(shè)計(jì)
- delphi人事管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于jsp的人事管理系統(tǒng)
- 人事管理畢業(yè)設(shè)計(jì)---人事管理系統(tǒng)設(shè)計(jì)
- 人事管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 人事管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(人事管理系統(tǒng))
- 畢業(yè)設(shè)計(jì)----人事管理系統(tǒng)
- 人事管理_基于java的人事管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 人事管理系統(tǒng)畢業(yè)設(shè)計(jì)----人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)12delphi+access人事管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)12delphi+access人事管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)----企業(yè)人事管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 企業(yè)人事管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---公司人事管理系統(tǒng)
- 人事管理系統(tǒng)delphi課程設(shè)計(jì)報(bào)告
- 基于eclipse的人事管理系統(tǒng)的設(shè)計(jì)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----企業(yè)人事管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---企業(yè)人事管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)----企業(yè)人事管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論