【正文】
界面包括IP地址的設(shè)置文本框、服務(wù)器設(shè)置文本框、數(shù)據(jù)庫(kù)設(shè)置文本框和三個(gè)基本按鈕。(‘selectpswdfromyhklbwheredlyh=’+”””+trim()+”””)。 用戶管理模塊為了保證系統(tǒng)安全,系統(tǒng)初始化時(shí)建立一個(gè)系統(tǒng)用戶其用戶名和密碼均為小字的system,只有此用戶才具有用戶管理的功能,其它用戶不能訪問(wèn)這個(gè)界面,如果要新增用戶、刪除用戶、修改密碼只能以此用戶登錄,當(dāng)然系統(tǒng)用戶可以修改自己的密碼,但不能刪除自己。(2)在基本參數(shù)表中查詢薪水賬目,將薪水賬目作為顯示標(biāo)題。成功失敗失敗是選取出盤(pán)的月份確認(rèn)出盤(pán)否是退 出選擇存盤(pán)路徑否將該月的數(shù)據(jù)作為下個(gè)月的初始數(shù)據(jù)插入Ygxjjgb中回滾在Kjcsb中插入一條記錄,表示該月已經(jīng)出盤(pán)成功數(shù)據(jù)存盤(pán)成功程序流程圖。不同權(quán)限的用戶登陸成功之后,其操作權(quán)限是有區(qū)別的,普通用戶進(jìn)入后,數(shù)據(jù)維護(hù)和打印的菜單將顯示為灰色。把員工關(guān)系表分為如下兩個(gè)表:?jiǎn)T工:(員工號(hào),姓名,年齡,所屬部門(mén)……),即本數(shù)據(jù)庫(kù)中的員工資料表ygzlb。因此,你想在現(xiàn)有的DBMS中設(shè)計(jì)出不符合第一范式的數(shù)據(jù)庫(kù)都是不可能的。用于維護(hù)系統(tǒng)的一些基本參數(shù),例如職務(wù),職稱,工資賬目等、部門(mén)。但在歷史月份還是將體現(xiàn)該員工的資料。表5 用戶口令表字段序號(hào)列名列中文名數(shù)據(jù)類型備注1Dlgh登錄工號(hào)Varchar(20)主鍵2Pswd口令Varchar(10)3yhqx用戶權(quán)限Int(2)yhqxb(用戶權(quán)限表)針對(duì)用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。表1 員工資料表字段序號(hào)列名列中文名數(shù)據(jù)類型備注1Ygh員工工號(hào)char(6)主鍵2Xm員工姓名Varchar(12)3Xb性別Varchar(2)4Zzmm政治面貌Varchar(4)5Xl學(xué)歷Varchar(12)6Qsrq出生日期Varchar(19)7Ssbm所屬部門(mén)Varchar(30)8Zc職稱Varchar(30)9Zw職務(wù)Varchar(30)10Rzsj入職時(shí)間Varchar(19)11Sfzh身份證號(hào)Varchar(20)12Gdlxdh聯(lián)系電話Varchar(16)續(xù)表1字段序號(hào)列名列中文名數(shù)據(jù)類型備注16Czy操作員Varchar(20) 17Czrq操作時(shí)間Varchar(19)13Jtzz家庭住址Varchar(60)14Sjhm手機(jī)號(hào)碼Varchar(12)15EmailEmailVarchar(20)zwxxb(職務(wù)信息表)職務(wù)信息表用來(lái)存儲(chǔ)所有職務(wù)代碼對(duì)應(yīng)的職務(wù)名稱,它是員工資料表的子表之一。(10)數(shù)據(jù)描述功能:定義數(shù)據(jù)庫(kù)的全局邏輯結(jié)構(gòu)、局部邏輯結(jié)構(gòu)和其他各種數(shù)據(jù)庫(kù)對(duì)象。(4)數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類型的集合。 5 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)也就是系統(tǒng)服務(wù)器端的設(shè)計(jì),本數(shù)據(jù)庫(kù)采用當(dāng)今流行的SQL Server 2000來(lái)實(shí)現(xiàn)。類的概念是面向?qū)ο蟪绦蛟O(shè)計(jì)最重要的特征。用戶可以通過(guò)主菜單或總表單調(diào)用系統(tǒng)的各項(xiàng)功能。通過(guò)對(duì)企業(yè)員工管理內(nèi)容、工資管理內(nèi)容和過(guò)程的分析,本人事工資管理系統(tǒng)系統(tǒng)應(yīng)設(shè)計(jì)的實(shí)體和屬性如下:?jiǎn)T工(包括員工工號(hào)、員工姓名、學(xué)歷、性別、政治面貌、出生日期、所屬部門(mén)、職稱、職務(wù)、入職時(shí)間、身份證號(hào)、聯(lián)系電話、家庭住址、手機(jī)號(hào)碼、Email、有效標(biāo)志)部門(mén)(部門(mén)代號(hào)、部門(mén)名稱)職務(wù)(職務(wù)代號(hào)、職務(wù)名稱)職稱(職稱代號(hào)、職稱名稱)薪金結(jié)構(gòu)(月份、員工工號(hào)、薪水賬目、數(shù)目)薪水賬目(薪水賬目代號(hào)、薪水賬目名稱)為了后面數(shù)據(jù)庫(kù)的建立,首先對(duì)該系統(tǒng)的ER模型進(jìn)行分析,并給出詳細(xì)圖形表示。概念性數(shù)據(jù)在用戶和設(shè)計(jì)者之間建立了橋梁,是設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中包含3個(gè)方面:(1)實(shí)體完整性,就是定義一條記錄為某個(gè)特定表的惟一實(shí)體,也可以成為行完整性,它要求表中所有的記錄都有一個(gè)惟一的標(biāo)志符,即主鍵。數(shù)據(jù)庫(kù)結(jié)構(gòu)直接關(guān)系到各種功能的實(shí)現(xiàn)和程序運(yùn)行的效率,一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù),可以使管理系統(tǒng)的實(shí)現(xiàn)變得非常簡(jiǎn)單,同時(shí)也可以加快數(shù)據(jù)庫(kù)的運(yùn)行速度,在系統(tǒng)的執(zhí)行過(guò)程中,可以加快檢索,提高效率。(4)員工月工資單打?。簩?duì)員工工資查詢得到的結(jié)果,可以進(jìn)行打印。下面是客戶端的功能模塊介紹。同時(shí)可打印工資報(bào)表。實(shí)踐證明,用戶干預(yù)愈少,MIS系統(tǒng)的滿意程度愈高。目前,Windows下的應(yīng)用軟件無(wú)論大小,其安裝程序幾乎均做到了這一點(diǎn)。計(jì)算與打印分開(kāi)設(shè)計(jì),雖然消耗時(shí)間,但易于整個(gè)MIS系統(tǒng)的維護(hù)。這是系統(tǒng)難于修改的主要原因。為了分析具備什么特點(diǎn)的系統(tǒng)易于修改,必須先找出修改一個(gè)系統(tǒng)的困難來(lái)自何處。這兩種方式都需要用到ADO的Connection對(duì)象。ADO可以使用VBScript、JavaScript等腳本語(yǔ)言來(lái)控制數(shù)據(jù)庫(kù)的存取以及輸出查詢結(jié)果。應(yīng)用程序要訪問(wèn)一個(gè)數(shù)據(jù)庫(kù),首先必須用ODBC管理器注冊(cè)一個(gè)數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫(kù)位置、數(shù)據(jù)庫(kù)類型及ODBC驅(qū)動(dòng)程序等信息,建立起ODBC與具體數(shù)據(jù)庫(kù)的聯(lián)系。一組對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的標(biāo)準(zhǔn)應(yīng)用程序編程接口。一個(gè)完整的ODBC由下列幾個(gè)部件組成[6]:(1) 應(yīng)用程序(Application)。隨著ODBC技術(shù)的推出,許多開(kāi)發(fā)工具軟件都把ODBC技術(shù)集成到自己的軟件中,如VisualBasic、VisualC++、Power Builder等等。 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù) ODBC接口技術(shù)數(shù)據(jù)庫(kù)管理系統(tǒng)發(fā)展到了今天,可以說(shuō)已經(jīng)到了極致,諸如國(guó)際國(guó)內(nèi)的主流數(shù)據(jù)庫(kù)管理系統(tǒng)ORACLE、SYBASE、INFORMIX、INGRES、DB2等等,數(shù)據(jù)庫(kù)系統(tǒng)的技術(shù)已經(jīng)非常成熟,不同的數(shù)據(jù)庫(kù)管理系統(tǒng)都占據(jù)著各自的市場(chǎng)。(2)可實(shí)現(xiàn)管理科學(xué)化和專業(yè)化。不過(guò)此部分內(nèi)容對(duì)于管理制度成熟的倉(cāng)庫(kù)企業(yè)而言,其困難度并不大。在C/S中,客戶端有一套完整應(yīng)用程序,在出錯(cuò)提示、在線幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。表:表(Table)是行(Row)的集合,每行是列(Column)的序列,每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。SQLServer2000有很多版本:企業(yè)版、開(kāi)發(fā)版、標(biāo)準(zhǔn)版、個(gè)人版等。 SQL Server 2000介紹SQL Server 2000[3]是Microsoft公司推出的SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本,該版本繼承了SQL Server ,同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行MicrosoftWindows98的膝上型電腦到運(yùn)行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺(tái)使用,這些功能進(jìn)一步將SQLServer確立為OLTP、數(shù)據(jù)倉(cāng)庫(kù)以及電子商務(wù)應(yīng)用程序的最佳數(shù)據(jù)庫(kù)平臺(tái)。對(duì)于這種情況應(yīng)當(dāng)用Try…Except模塊來(lái)設(shè)計(jì)程序。當(dāng)然有些數(shù)據(jù)庫(kù)服務(wù)器也支持在TQuery部件的SQL屬性中設(shè)置多條SQL語(yǔ)句,只要數(shù)據(jù)庫(kù)服務(wù)器允許這樣,我們?cè)诰幊虝r(shí)可以為SQL屬性設(shè)置多條SQL語(yǔ)句。3)將TQuery部件的Data Source屬性設(shè)置為另一個(gè)數(shù)據(jù)源,這樣將另一個(gè)數(shù)據(jù)源中與當(dāng)前TQuery部件的SQL語(yǔ)句中的參數(shù)名相匹配的字段值賦給其對(duì)應(yīng)的參數(shù)??梢栽赥Query組件的SQL屬性中設(shè)置SQL語(yǔ)句。在一個(gè)應(yīng)用程序中為每一個(gè)數(shù)據(jù)庫(kù)連接顯示的聲明TDataBase對(duì)象要根據(jù)需要而定,不是必需的。ADO數(shù)據(jù)集訪問(wèn)組件與常用的數(shù)據(jù)訪問(wèn)組件是并列的關(guān)系。利用ADO數(shù)據(jù)訪問(wèn)組件,可以只使用ADO結(jié)構(gòu)與數(shù)據(jù)庫(kù)取得聯(lián)系并對(duì)其中的數(shù)據(jù)進(jìn)行操作,而在這些過(guò)程中完全不需要使用BDE。ADO使您的客戶端應(yīng)用程序能夠通過(guò)OLEDB提供訪問(wèn)和操作在數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。它可以滿足基于本地、客戶/服務(wù)器和ODBC數(shù)據(jù)庫(kù)平臺(tái)的應(yīng)用程序的各種需要,而且異常方便、高效。(1)優(yōu)秀的可視化開(kāi)發(fā)環(huán)境Delphi屬于RAD(rapid application development,快速應(yīng)用開(kāi)發(fā))工具,這類工具的最大特點(diǎn)就是可視化的設(shè)計(jì)窗體以及能為窗體添加各種組件。Delphi的編譯器仍然是目前世界上最先進(jìn)最優(yōu)秀效率最高的編譯器。計(jì)算機(jī)語(yǔ)言越高級(jí),就越抽象越人性化,與低層硬件的關(guān)系就越少,使用起來(lái)就越方便。 需求分析部分結(jié)合軟件工程方法,對(duì)系統(tǒng)進(jìn)行需求分析、功能劃分、數(shù)據(jù)流圖設(shè)計(jì)。以前很多公司的所用人事工資管理系統(tǒng)都是用單擊版的,面對(duì)目前的實(shí)際狀況,迫切需要開(kāi)發(fā)一個(gè)C/S模式管理系統(tǒng)來(lái)適應(yīng)這一些工作。另外,相對(duì)于主機(jī)/終端系統(tǒng),它不僅投資要低的多,而且能夠有效地保護(hù)已有資源。這種模式已無(wú)法適應(yīng)當(dāng)代信息系統(tǒng)的發(fā)展,而且它的可靠性亦較差,故而必須走向分布式,把處理和數(shù)據(jù)進(jìn)行分布。隨著社會(huì)的發(fā)展和技術(shù)的進(jìn)步,各大公司、企業(yè)為了增強(qiáng)自身的競(jìng)爭(zhēng)能力,開(kāi)始對(duì)自己的組織形式和管理模式進(jìn)行變革,即從自上而下的層層管理逐漸轉(zhuǎn)變?yōu)橛刑囟氊?zé)的分支小組、業(yè)務(wù)流程重新組織的管理,企業(yè)信息管理也正在由集中式逐步轉(zhuǎn)向分散式,而C/S結(jié)構(gòu)恰好為這種管理模式的變革提供了具體實(shí)現(xiàn)手段和強(qiáng)有力的支持工具。數(shù)據(jù)庫(kù)服務(wù)器用來(lái)控制所有的數(shù)據(jù)訪問(wèn)和更新,文件服務(wù)器作為物理的磁盤(pán)貯存器,用來(lái)存放中央數(shù)據(jù)文件。 再次,從企業(yè)管理的角度來(lái)看,特別是制造業(yè)企業(yè)的生產(chǎn)管理,只有這種基于C/S的系統(tǒng)結(jié)構(gòu)才能使分散化的管理思想真正得以實(shí)現(xiàn)。應(yīng)用程序因此具有最大的復(fù)雜性,即使是原班開(kāi)發(fā)人馬,要想對(duì)已有功能加以擴(kuò)充也是很困難的,當(dāng)數(shù)據(jù)庫(kù)稍具復(fù)雜性(比如有稍多相互關(guān)聯(lián)的表與規(guī)則),其他的人員開(kāi)發(fā)另外的程序共同操作這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),幾乎不具可行性,不能適應(yīng)公司發(fā)展的需要。系統(tǒng)實(shí)現(xiàn)部分根據(jù)詳細(xì)設(shè)計(jì)和前面部分的分析結(jié)果,介紹了系統(tǒng)查詢功能,系統(tǒng)出盤(pán)模塊,工資短信模塊等關(guān)鍵模塊的實(shí)現(xiàn)代碼以及關(guān)鍵技術(shù)。編譯器或解釋器的主要工作就是翻譯代碼,成為人與計(jì)算機(jī)交流的主要通道。作為數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā),Delphi是一個(gè)非常理想選擇[1]。Pascal本身是一種結(jié)構(gòu)優(yōu)良的語(yǔ)言,Pascal編譯器的高效性也部分得益于此。(1) ADO數(shù)據(jù)訪問(wèn)組件ADO數(shù)據(jù)對(duì)象(Active Data Objects)實(shí)際是一種提供訪問(wèn)各種數(shù)據(jù)類型的鏈接機(jī)制[2]。這種能力是通過(guò)一組新組件實(shí)現(xiàn)的,這些組件是ADO組件頁(yè)中,在組件面版的ADO頁(yè)上可以找到這些組件。TADO Data Set沒(méi)有直接的BDE對(duì)應(yīng)組件,但它提供了許多與TTable和TQuery相同的功能。主要包括數(shù)據(jù)源控件Data Source、客戶數(shù)據(jù)集控件Client Data Set、數(shù)據(jù)集提供器控件Data Set Provider等等。用Delphi :先利用數(shù)據(jù)存取組件和實(shí)際的數(shù)據(jù)庫(kù)建立連接,并用TSession對(duì)象和TDataBase對(duì)象管理這些連接。其中的變量StudentCode便是一個(gè)參數(shù)變量,它由一個(gè)冒號(hào)引導(dǎo),在程序運(yùn)行過(guò)程中,必須要為該參數(shù)賦值,該條SQL語(yǔ)句才能正確執(zhí)行,每次運(yùn)行應(yīng)用程序時(shí)可以為該參數(shù)變量賦予不同的值。在為T(mén)Query部件設(shè)置SQL屬性時(shí)調(diào)用Close方法總是很安全的,如果TQuery部件已經(jīng)被關(guān)閉了,調(diào)用Close方法時(shí)不會(huì)產(chǎn)生任何影響。Open方法只能用來(lái)執(zhí)行SQL語(yǔ)言的查詢語(yǔ)句(Select命令),并返回一個(gè)查詢結(jié)果集,而Excel SQL方法還可以用來(lái)執(zhí)行其它常用的SQL語(yǔ)句(如INSERT,UPDATE,DELETE等命令),例如:(這樣會(huì)返回一個(gè)查詢結(jié)果集)如果調(diào)用Open方法,而沒(méi)有查詢結(jié)果時(shí),會(huì)出錯(cuò)。值得注意的是,ADO Query組件只有在激活的情況下才可以被正確地使用,這樣就提出了一個(gè)問(wèn)題,也就是說(shuō),在每次修改ADO Query組件的SQL屬性時(shí)都必須先行進(jìn)行關(guān)閉,待清除掉SQL中所有的SQL語(yǔ)句后才可以添加新的SQL語(yǔ)句。SQL Server 2000的客戶端工具包括——企業(yè)管理器、查詢分析器、事件探查器、服務(wù)管理器、客戶端網(wǎng)絡(luò)實(shí)用工具、服務(wù)器網(wǎng)絡(luò)實(shí)用工具、導(dǎo)入和導(dǎo)出數(shù)據(jù)(DTS)等等。在SQL中,外模式對(duì)應(yīng)于視圖,模式對(duì)應(yīng)于基本表,元組稱為“行”,屬性稱為“列”。 C/S模式簡(jiǎn)介 C/S定義C/S模式是一種兩層結(jié)構(gòu)的系統(tǒng)[4]:第一層是在客戶機(jī)系統(tǒng)上結(jié)合了表示與業(yè)務(wù)邏輯;第二層是通過(guò)網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫(kù)服務(wù)器。由于客戶端實(shí)現(xiàn)與服務(wù)器的直接相連,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快。客戶機(jī)/服務(wù)器具有以下特點(diǎn)[4]:(1)可實(shí)現(xiàn)資源共享。(4)能更好地保護(hù)原有的資源。為了適應(yīng)這種需求,Microsoft推出了開(kāi)放數(shù)據(jù)庫(kù)互連技術(shù)[5](Open DataBase Connectivity,簡(jiǎn)稱ODBC)。也就是說(shuō),不論是FoxPro、Access還是Oracle數(shù)據(jù)庫(kù),只要有相應(yīng)的ODBC驅(qū)動(dòng)程序支持,均可用ODBCAPI進(jìn)行訪問(wèn)。是ODBC中最重要的部件,負(fù)責(zé)為應(yīng)用程序加載和調(diào)用驅(qū)動(dòng)程序。數(shù)據(jù)源包含了數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象。它提供了系統(tǒng)開(kāi)發(fā)人員實(shí)時(shí)存取數(shù)據(jù)庫(kù)的能力。(5)在適當(dāng)?shù)那闆r下,可以通過(guò)修改緩存行的內(nèi)容一更新數(shù)據(jù)源。主要從系統(tǒng)功能,結(jié)構(gòu),內(nèi)容,風(fēng)格,流程等方面來(lái)考慮。對(duì)A的修改波及B,而對(duì)B的修改又可以影響到C,E,……。設(shè)計(jì)MIS時(shí),針對(duì)每一個(gè)功能,都要按照模塊化思想,使輸入、處理與輸出“涇渭分明”,充分體現(xiàn)人機(jī)界面的通信功能。界面必須使用戶隨時(shí)掌握任務(wù)的進(jìn)展情況。例如,人事管理系統(tǒng)中的“文化程度”是相對(duì)固定的數(shù)據(jù),其值一般取“小學(xué)”、“初中”、“高中”、“大?!?、“大本”、“碩研”、“博研”等。數(shù)據(jù)的輸入:由工作人員通過(guò)新員工本月工資增加和老員工上月工資表修改完成。在服務(wù)器端,系統(tǒng)的主要設(shè)計(jì)就是數(shù)據(jù)庫(kù)的設(shè)計(jì),采用SQL Se