公交駕駛員安全信息管理系統(tǒng).doc_第1頁(yè)
公交駕駛員安全信息管理系統(tǒng).doc_第2頁(yè)
公交駕駛員安全信息管理系統(tǒng).doc_第3頁(yè)
公交駕駛員安全信息管理系統(tǒng).doc_第4頁(yè)
公交駕駛員安全信息管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

畢業(yè)設(shè)計(jì)(論文)題目 公交駕駛員安全信息管理系統(tǒng) 系 別 專 業(yè) 班 級(jí) 姓 名 學(xué) 號(hào) 指導(dǎo)教師(職稱) 日 期 *大學(xué)第一章需求分析11 引言 面對(duì)復(fù)雜的公交駕駛員安全信息方面的信息,數(shù)據(jù)。而就目前的現(xiàn)狀,全部是人工靠手工記錄的方式記錄和處理這些數(shù)據(jù)。這給公交公司帶來(lái)很多問(wèn)題:(1)駕駛員信息不能及時(shí)反饋到公司上層機(jī)構(gòu)。(2)對(duì)駕駛員的信息經(jīng)過(guò)多年積累,出現(xiàn)很大的數(shù)據(jù)冗余。(3)對(duì)駕駛員的信息管理,公交公司得花很大的人力和物力去進(jìn)行管理。(4)公交公司的駕駛員信息,公司管理層需要得到及時(shí)的決策,而這些信息不能夠很快得到。而就現(xiàn)代社會(huì)的發(fā)展要求,給現(xiàn)在地的公交公司建立一個(gè)駕駛員安全信息管理系統(tǒng)勢(shì)在必行。實(shí)現(xiàn)公交公司駕駛員安全信息管理的現(xiàn)代化,信息化。這對(duì)公交公司:(1) 給管理層和決策層提供詳細(xì)和準(zhǔn)確的數(shù)據(jù)(2) 不再是靠以前的人工紙章記錄方式,節(jié)省的大量紙張資源。(3) 數(shù)據(jù)不再會(huì)出現(xiàn)過(guò)多冗余,對(duì)于各種信息能夠及時(shí)更新。(4) 對(duì)公交公司管理層管理公司駕駛員會(huì)具有及時(shí),可靠,準(zhǔn)確,詳細(xì)的各種信息。12 可行性分析(1).經(jīng)濟(jì)的可行性分析公交公司只需投入少量資金做系統(tǒng)的開(kāi)發(fā),而在系統(tǒng)運(yùn)行到公司,公司只需有一名系統(tǒng)管理員就夠了,這對(duì)公司節(jié)省了很多的人力開(kāi)支。所以,從經(jīng)濟(jì)方面,這是可行的。(2).技術(shù)的可行性分析 Visual Basic6.0是微軟推出的基于窗口的可視化開(kāi)發(fā)工具。Visual所指的是開(kāi)發(fā)圖形用戶界面的可視化方法,無(wú)需寫大量源代碼去描述用戶界面元素的外觀和位置,而只要把預(yù)先建立好的控件對(duì)象拖入到設(shè)計(jì)窗體上,著就是可視化。Visual Basic是Windows下最快捷,便利的通用開(kāi)發(fā)工具之一,它具有智能特性集成開(kāi)發(fā)環(huán)境。VB6.0的特有四大特點(diǎn):可視化,面向?qū)ο?,部件編程,事件?qū)動(dòng)等。 Microsoft公司的Access數(shù)據(jù)庫(kù)管理系統(tǒng)是目前國(guó)內(nèi)使用較為普遍的一種數(shù)據(jù)庫(kù)軟件。它既是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)平臺(tái)也是一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,可以用來(lái)開(kāi)發(fā)定制客戶機(jī)/服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序。它包括了30多個(gè)向?qū)Э梢詧?zhí)行許多常見(jiàn)的任務(wù),如創(chuàng)建窗體,報(bào)表和查詢。Access數(shù)據(jù)庫(kù)在設(shè)計(jì)大量的用戶或頻繁的操作時(shí),它的性能和可靠性會(huì)大幅度下降。 從以上兩點(diǎn)可以看出,以 Visual Basic6.0作為開(kāi)發(fā)前臺(tái),Access數(shù)據(jù)庫(kù)作為后臺(tái)來(lái)開(kāi)發(fā)這套駕駛員安全信息管理系統(tǒng)在技術(shù)上是可行的。13 需求概述:(1) 瀏覽功能:以列表的形式顯示各種記錄。(2) 條件查詢功能:用戶可以任意選擇字段進(jìn)行各種查詢,本功能只可對(duì)管理員開(kāi)放(3) 修改功能: 可修改任意字段,但逐漸不許為空,只對(duì)管理員開(kāi)放(4) 添加功能:可以添加符合本系統(tǒng)任何信息記錄,只對(duì)管理員開(kāi)放 (5) 刪除功能:可以刪除本系統(tǒng)任何一條或多條記錄,只對(duì)管理員開(kāi)放 (6) 密碼管理:只能由管理員去管理密碼的各種操作 (7) 身份驗(yàn)證功能:進(jìn)入系統(tǒng)后,對(duì)用戶的身份權(quán)限進(jìn)行驗(yàn)證,保證用戶合法并具有權(quán)限級(jí)別。(8) 系統(tǒng)幫助功能: 為普通用戶提供使用本系統(tǒng)的功能 第二章 系統(tǒng)設(shè)計(jì)21模塊設(shè)計(jì)根據(jù)本系統(tǒng)的需求,結(jié)合實(shí)際中公交公司駕駛員安全信息管理的情況,本系統(tǒng)應(yīng)該具有一下功能:(1)用戶管理本系統(tǒng)用戶可以分二類用戶:普通類用戶(1),管理員類用戶(0)a. 駕駛員用戶 也就是公交駕駛員用戶,當(dāng)前系統(tǒng)中所有駕駛員。其用戶名為駕駛員姓名,密碼為駕駛員編號(hào)。該類用戶只能瀏覽自己的各種信息,不能對(duì)數(shù)據(jù)進(jìn)行任何的其他操作,也不能訪問(wèn)其他駕駛員的信息。b. 管理員類用戶 也就是本系統(tǒng)的實(shí)際操作員和管理員,可實(shí)施信息的錄入,查找,刪除,修改,查詢等各項(xiàng)功能,并能根據(jù)實(shí)際需要實(shí)現(xiàn)對(duì)報(bào)表的打印工作。在最初的管理員的允許下,可實(shí)現(xiàn)新管理員的注冊(cè)。(2)駕駛員基本信息模塊設(shè)計(jì)此模塊將對(duì)駕駛員的基本信息做詳細(xì)的信息錄入,并包括增加,刪除,修改,瀏覽。查詢和報(bào)表生成的權(quán)限管理,此模塊駕駛員只能瀏覽自己的個(gè)人信息,并也有打印自己的信息的權(quán)限(3)安全公里數(shù)和年審模塊此模塊可對(duì)公交駕駛員的安全公里數(shù)和年審的信息錄入,并可進(jìn)行各項(xiàng)管理,普通用戶只能以瀏覽自己本人的基本信息,而管理員用戶可以進(jìn)行信息的錄入,修改,刪除,并可做查詢和報(bào)表生成以及打印工作。(4)獎(jiǎng)懲管理模塊此模塊可對(duì)公交駕駛員的獲獎(jiǎng)和懲罰信息做詳細(xì)發(fā)記錄,同樣也有各種管理功能,管理員用戶可以對(duì)此模塊的各種信息數(shù)據(jù)進(jìn)行增加,修改,刪除并可做查詢以及報(bào)表生成功能。普通用戶可以對(duì)自己的信息進(jìn)行瀏覽,以及自己的信息報(bào)表生成(5)違章肇事管理模塊此模塊可以對(duì)公交駕駛員的違章以及肇事信息做詳細(xì)的記錄,并也具有各種管理功能和瀏覽功能。普通用戶只能最自己的信息做瀏覽和報(bào)表生成。而管理員用戶可以對(duì)此模塊的各條信息進(jìn)行增加,刪除,修改和查詢以及報(bào)表生成。各功能模塊圖如圖一: 圖一2 2開(kāi)發(fā)環(huán)境結(jié)合所要開(kāi)發(fā)的系統(tǒng)的特點(diǎn)和此次畢業(yè)設(shè)計(jì)任務(wù)要求,系統(tǒng)采用將使用Visual Basic 6.0中文版作為開(kāi)發(fā)工具,后臺(tái)數(shù)據(jù)庫(kù)則采用Access 200023系統(tǒng)的整體流程根據(jù)公交公司駕駛員的實(shí)際流程和設(shè)計(jì)任務(wù),結(jié)合上述的各功能模塊,系統(tǒng)的整體流程如圖二:流程處理說(shuō)明:1. 系統(tǒng)啟動(dòng)時(shí),激活身份驗(yàn)證模塊2. 通過(guò)身份驗(yàn)證后,對(duì)系統(tǒng)初始化,根據(jù)系統(tǒng)配置文件將數(shù)據(jù)庫(kù)導(dǎo)入3. 系統(tǒng)進(jìn)入主窗體,通過(guò)事件驅(qū)動(dòng)機(jī)制激活各功能模塊,并執(zhí)行指定模塊2.4 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)采用了Microsoft推出的Access數(shù)據(jù)庫(kù),這是微軟集成到Office中的一個(gè)桌面數(shù)據(jù)庫(kù),能夠快速方便的和Office的其他套件綜合使用。由于Access具有顯著的簡(jiǎn)易性和有效性,大量的桌面數(shù)據(jù)庫(kù)系統(tǒng)都采用Access作為后臺(tái)數(shù)據(jù)庫(kù)。使用Access的好處還在于,如果你的系統(tǒng)擴(kuò)展到Client/Server模式的時(shí)候,可以使用Microsoft的數(shù)據(jù)庫(kù)服務(wù)器軟件SQL Server,此時(shí),程序只需要簡(jiǎn)單的修改一下鏈接(ADO的數(shù)據(jù)源)就可以,這樣,為程序的平滑擴(kuò)展提供了非常有力的條件。2.4.1本系統(tǒng)涉及到的主要實(shí)體有五個(gè)數(shù)據(jù)表:“基本”表員工編號(hào),姓名,出生日期,性別,政治面貌,文化程度,駕駛證號(hào),身份證號(hào),準(zhǔn)駕車型,登記日期,單位,星級(jí),備注“安全與年審”表編號(hào),員工編號(hào),上半年里程數(shù),下半年里程數(shù),年度,審驗(yàn)日期,年審情況,備注“獎(jiǎng)懲”表編號(hào),員工編號(hào),獎(jiǎng)懲類型,獎(jiǎng)懲名稱,獎(jiǎng)懲日期,授予單位,備注“違章肇事”表編號(hào),員工編號(hào),違肇類型,違肇事日期,車型,經(jīng)過(guò)情況,處理結(jié)果,駕駛證情況,吊銷期限,吊扣期限,備注“用戶”表用戶編號(hào),用戶名,密碼,權(quán)限,備注2.4.2各表的物理結(jié)構(gòu)如下: 駕駛員基本信息表(表一)字段名稱類型長(zhǎng)度默認(rèn)值備注員工編號(hào)字符4無(wú)主鍵姓名文本8無(wú)可以為空出生日期日期無(wú)可以為空性別文本2“男”可以為空政治面貌文本10無(wú)可選擇型文化程度文本10無(wú)可選擇型駕駛證號(hào)字符10無(wú)可以為空身份證號(hào)字符20無(wú)可以為空準(zhǔn)駕車型字符4無(wú)可以為空登記日期日期無(wú)可以為空單位文本20無(wú)可以為空星級(jí)文本10無(wú)可選擇型備注文本60無(wú)可以為空這里的“可選擇型”:在詳細(xì)設(shè)計(jì)時(shí)固定可選項(xiàng),用戶只可選擇型的添入。駕駛員安全公里數(shù)和年審表(表二)字段名稱類型長(zhǎng)度默認(rèn)值備注編號(hào)字符4無(wú)主鍵員工編號(hào)字符4無(wú)主鍵上半年里程數(shù)數(shù)字長(zhǎng)整型無(wú)可以為空下半年里程數(shù)數(shù)字長(zhǎng)整型無(wú)可以為空年度數(shù)字長(zhǎng)整型無(wú)可以為空審驗(yàn)日期日期無(wú)可以為空年審情況字符20無(wú)可以為空備注字符60無(wú)可以為空駕駛員獎(jiǎng)懲表(表三)字段名稱類型長(zhǎng)度默認(rèn)值備注編號(hào)字符4無(wú)主鍵員工編號(hào)字符4無(wú)主鍵獎(jiǎng)懲類型字符2無(wú)可選擇型獎(jiǎng)懲名稱字符10無(wú)可以為空獎(jiǎng)懲日期日期無(wú)可以為空授予單位字符15無(wú)可以為空備注字符60無(wú)可以為空駕駛員違章肇事表(表四)字段名稱類型長(zhǎng)度默認(rèn)值備注編號(hào)字符4無(wú)主鍵員工編號(hào)字符4無(wú)主鍵違肇類型字符2無(wú)可選擇型違肇日期日期無(wú)不可為空車型字符4無(wú)可選擇型經(jīng)過(guò)情況字符20無(wú)可以為空處理結(jié)果字符20無(wú)可以為空駕駛證情況字符4無(wú)可選擇型吊銷情況字符4無(wú)根據(jù)駕駛證情況吊扣情況字符4無(wú)根據(jù)駕駛證情況備注字符60無(wú)可以為空系統(tǒng)用戶信息表:(表五)字段名稱類型長(zhǎng)度默認(rèn)值備注用戶編號(hào)字符4無(wú)主鍵用戶名字符20無(wú)可以為空密碼字符16無(wú)可以為空權(quán)限字符1無(wú)不可以為空備注字符20無(wú)可以為空2.4.3關(guān)系:數(shù)據(jù)庫(kù)之間的關(guān)系指明兩個(gè)庫(kù)之間共享一個(gè)共同的關(guān)鍵字值。一個(gè)連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個(gè)不同的表中獲取信息時(shí)建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄,一個(gè)更高級(jí)的連接形式稱為自然連接。這種連接是指一個(gè)表被連接到它自己的一個(gè)字段,或在不同的記錄中由重復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫(kù)有三種不同類型的關(guān)鍵字:主關(guān)鍵字,組合關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述庫(kù)表示什么以及在數(shù)據(jù)庫(kù)中如何與其他的庫(kù)建立關(guān)系。關(guān)系是數(shù)據(jù)庫(kù)查詢?cè)O(shè)計(jì)的基礎(chǔ)。關(guān)系數(shù)據(jù)庫(kù)中表之間的關(guān)系有一對(duì)一的關(guān)系,一對(duì)多的關(guān)系以及多對(duì)多的關(guān)系,其中前兩種是最為常用的兩種關(guān)系。從實(shí)際的公交駕駛員安全信息管理來(lái)說(shuō),上述所涉及到的各表之間存在著緊密的聯(lián)系,根據(jù)這一情況需要建立各個(gè)表相應(yīng)字段之間的關(guān)系。定義了以下幾組參照完整性:由于每個(gè)公交駕駛員具有多條獎(jiǎng)懲信息,所以,基本表和獎(jiǎng)懲表,是一對(duì)多的關(guān)系。由于每個(gè)駕駛員在多年的積累中有多條的年審和安全公里數(shù)記錄,因而也是一對(duì)多的關(guān)系。由于每個(gè)駕駛員在其任職期間具有多個(gè)違章肇事的信息,所以也具有一對(duì)多的關(guān)系,因而也屬于一多的關(guān)系。因?yàn)橛脩舯聿粚儆诰唧w的實(shí)際,而只是本系統(tǒng)使用人員的各項(xiàng)信息記錄表,所以的單獨(dú)的,不與其他任何表有任何關(guān)系。各表之間的關(guān)系圖(圖三): 圖三E-R圖(圖四):由于每個(gè)駕駛員可擁有駕證多個(gè),所駕駛的車也有多輛,所屬單位也有多家,所以一個(gè)駕駛員與這些信息的一對(duì)多的關(guān)系。 圖四第三章 軟件總體設(shè)計(jì)3.1程序?yàn)g覽:3.1.1系統(tǒng)歡迎界面(圖五): 圖五說(shuō)明:由于是Splash窗體,所以在各個(gè)控件的單擊事件中寫如打開(kāi)下一窗體(登錄窗體)的代碼。運(yùn)行本系統(tǒng),將出現(xiàn)Splash窗體,在本系統(tǒng)中由于沒(méi)有初始化工作需要做,所以Splash窗體只起展示屏幕的作用。登錄界面:如果用戶在Splash窗體上單擊查上是任何部分或者按下任何一個(gè)鍵,將退出Splash窗體,并進(jìn)入系統(tǒng)登錄窗體。本系統(tǒng)的用戶分為兩種,管理員用戶和駕駛員用戶,使用者可以在組合框中選擇所要登錄的用戶類型,并輸入相應(yīng)的用戶名和密碼。3.1.2 登陸界面(圖六)圖六3.1.3主窗體界面: 附:菜單設(shè)計(jì)(圖七)考慮到系統(tǒng)使用的方便和快速使用,我們?cè)O(shè)計(jì)了菜單以便用戶使用(并設(shè)有快捷鍵):圖七 在登錄窗中如果用戶登錄成功將會(huì)出現(xiàn)以下窗體(圖八):圖八 用戶以管理員身份登陸后界面(圖九): 圖九用戶以駕駛員身份登陸后界面(圖十): 圖十如果單擊幫助菜單,系統(tǒng)將顯示系統(tǒng)歡迎界面(Splash窗體),但是此時(shí)單擊系統(tǒng)歡迎界面(Splash窗體),則將退出Splash窗體并直接返回到主窗體中,而不會(huì)出現(xiàn)登錄窗體。駕駛員信息管理窗體:報(bào)表界面:3.2建立數(shù)據(jù)庫(kù)連接3.2.1本系統(tǒng)將使用ADO作為數(shù)據(jù)連接的手段,在使用ADO之前,必須在工程中添加對(duì)ADO的引用 ADO簡(jiǎn)介 ActiveX Data Objects(ADO) 是微軟公司最新的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。它被設(shè)計(jì)用來(lái)同新的數(shù)據(jù)訪問(wèn)層OLE DB Provider一起協(xié)同工作,以提供通過(guò)數(shù)據(jù)訪問(wèn)(Universal Data Access)。OLE DB是一個(gè)低層的數(shù)據(jù)訪問(wèn)接口,用它可以訪問(wèn)各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象。同傳統(tǒng)的數(shù)據(jù)對(duì)象層次(DAO和RDO)不同,ADO可以獨(dú)立創(chuàng)建,因此可以只創(chuàng)建一個(gè)Connection對(duì)象,但是可以有多個(gè),獨(dú)立的Recordset對(duì)象來(lái)使用它。ADO 針對(duì)客戶/服務(wù)器以及Web 應(yīng)用程序作了優(yōu)化。以前的對(duì)象模型,如DAO和RDO是層次型的。在創(chuàng)建一個(gè)對(duì)象的實(shí)例之前,不能創(chuàng)建DAO Recordset對(duì)象的實(shí)例。但ADO卻不同,它定義了一組平面型頂級(jí)對(duì)象。最重要的3個(gè)ADO對(duì)象是Connection,Recordset和Command。在本系統(tǒng)中重要使用了Connection和Recordset兩個(gè)對(duì)象。每個(gè)Connection的屬性定義了與數(shù)據(jù)源的連接。Recordset對(duì)象接收來(lái)自數(shù)據(jù)源的數(shù)據(jù)。Recordset可以與Connection 一起使用,先建立一個(gè)連接,然后獲取數(shù)據(jù)。Recordset也可以被單獨(dú)創(chuàng)建,其connection參數(shù)可以在open屬性定義。 使用ADO連接Jet為了使用ADO連接一個(gè)Jet 數(shù)據(jù)庫(kù),必須使用如下字符串:Provider=MSODAORA.1;Data source=vb6db.A如果在數(shù)據(jù)庫(kù)中指定了用戶級(jí)的安全性,并且希望在連接字符串中包括用戶ID和用戶密碼信息,也可以包括“User ID=”和“Password=”關(guān)鍵字,或者可以把它們作為Open 方法的參數(shù)。當(dāng)然,也可以使用Data LinkerProperties窗口來(lái)配置Jet提供者。選擇與使用的Jet版本相應(yīng)的提供者(參見(jiàn)圖29。1),單擊Next按鈕后,輸入數(shù)據(jù)庫(kù)的名字和訪問(wèn)此數(shù)據(jù)庫(kù)所必需的用戶名和密碼。如果沒(méi)有實(shí)施用戶級(jí)的安全性,就應(yīng)該保留默認(rèn)的用戶名和密碼(密碼為空)。如果想檢測(cè)此連接,單擊TestConnection按鈕。 如果指定了數(shù)據(jù)庫(kù)密碼,可以指定Data Linker Properties窗口中所有選項(xiàng)卡中的值。只需選擇Jet OLEDB:Database Password字段,單擊Edit Value按鈕,并且輸入適當(dāng)?shù)闹怠?Jet安全性如同其他數(shù)據(jù)庫(kù)系統(tǒng)Jet 也內(nèi)置了自己的安全子系統(tǒng)。當(dāng)然,可以選擇使用此安全子系統(tǒng)或者忽略它。但如果計(jì)劃讓多于一個(gè)的用戶訪問(wèn)數(shù)據(jù)庫(kù),就應(yīng)該使此子系統(tǒng)。實(shí)際上,就算是只有一個(gè)用戶使用數(shù)據(jù)庫(kù),也可以使用數(shù)據(jù)庫(kù),也可以使用此安全系統(tǒng)。此安全子系統(tǒng)只是通過(guò)阻止用戶以任何其他的應(yīng)用程序打開(kāi)數(shù)據(jù)庫(kù)來(lái)防止破壞數(shù)據(jù)庫(kù)。共享級(jí)安全性 在共享級(jí)安全性中,會(huì)給數(shù)據(jù)庫(kù)分配一個(gè)密碼,只有知道此密碼的用戶才能訪問(wèn)此數(shù)據(jù)庫(kù)。當(dāng)然,它的安全性要低于用戶級(jí)安全性(接下來(lái)將要討論)。這種安全性體系將會(huì)阻止用戶以Excel或Access訪問(wèn)數(shù)據(jù)庫(kù)。可以使用Access或Workspace對(duì)象中的DAOCreateDatabase方法來(lái)設(shè)置密碼,只需把字符串;pwd=MyPassword添加到Locale參數(shù)中的末尾以把數(shù)據(jù)庫(kù)密碼設(shè)置為MyPassword 。接下來(lái),就應(yīng)該指定DAO OpenDatabase方法Connection參數(shù)中的密碼。在ADO中,通過(guò)使用;pwd=MyPassword關(guān)鍵字,只需指定密碼為Connnection字符串的一部分。用戶級(jí)安全性用戶級(jí)安全性與SOL Server和Oracle 8i中的安全性系統(tǒng)相似。系統(tǒng)為訪問(wèn)數(shù)據(jù)庫(kù)的每一個(gè)用戶創(chuàng)建一個(gè)用戶ID和密碼,接下來(lái),給每一個(gè)用戶ID給予訪問(wèn)不同數(shù)據(jù)庫(kù)對(duì)象的權(quán)限。在用戶級(jí)安全性中,可以通過(guò)組來(lái)進(jìn)行管理。可以創(chuàng)建一個(gè)組,并給予這個(gè)組適當(dāng)?shù)臋?quán)限,這就像是創(chuàng)建另一個(gè)用戶。接下來(lái),就可以把組分配給不同的用戶ID。當(dāng)用戶登錄到數(shù)據(jù)庫(kù)中時(shí),除了分配給每一個(gè)用戶自己的權(quán)限,他們還會(huì)繼承已經(jīng)分配給他們組的權(quán)限。3.3 數(shù)據(jù)環(huán)境設(shè)計(jì)器屬性設(shè)置; 3.3.1 在數(shù)據(jù)環(huán)境設(shè)計(jì)器中添加Connection1對(duì)象,查看其屬性,在“提供者”選項(xiàng)卡中選擇“Microsoft Jet 4.0 OLE Provider”項(xiàng),如圖十一 圖十一 圖十二3.3.2 在“連接”選項(xiàng)卡中,在“數(shù)據(jù)庫(kù)名稱”中選擇jsy.mdb(這里數(shù)據(jù)庫(kù)的路徑和工程路徑在同一文件夾下),并選中“空白密碼”和“允許保存密碼”前面的單選框,如下圖所示。單擊“測(cè)試連接”按鈕,如果出現(xiàn)“連接成功”提示框,則表示設(shè)置成功,否則,需要檢查數(shù)據(jù)庫(kù)連接的設(shè)置。(如圖十二)經(jīng)過(guò)以上兩步設(shè)置,數(shù)據(jù)環(huán)境設(shè)計(jì)器的Connection數(shù)據(jù)連接的屬性設(shè)置如表六:對(duì)象屬性設(shè)置DEConnectionNameConnection1ConnectionStringCursorLocation3-adUseClient表六3.3.3 數(shù)據(jù)連接的初始化代碼在數(shù)據(jù)環(huán)境的初始化(Initialize)事件中,動(dòng)態(tài)改變數(shù)據(jù)連Connection1的連接字段(ConnectionString)Private Sub DataEnvironment_Initialize() ADO中的數(shù)據(jù)連接所使用的字段 Dim strConn As String strConn = Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source= strConn = strConn & App.Path & jsy.mdb & ;Persist Security Info=True Connection1.ConnectionString = strConn第四章 軟件詳細(xì)設(shè)計(jì)41 界面設(shè)計(jì)4.1.1歡迎窗體.在工程添加窗體form1.frm,并將其設(shè)置為啟動(dòng)對(duì)象,該窗體上的控件及其屬性設(shè)置如表七。對(duì)象屬性設(shè)置FormNameForm1Caption公交駕駛員安全信息管理系統(tǒng)KeyPreviewTrueShowInTaskbarFalseStartUpPosition2-屏幕中心Label1nameLabel1caption公交駕駛員安全信息管理系統(tǒng)Label2nameLabel2caption開(kāi)發(fā)環(huán)境:Visual Basic 6.0Label3nameLabel3caption數(shù)據(jù)環(huán)境: Access表七 4.1.2 .代碼設(shè)計(jì)本窗體主要具有兩個(gè)作用,其一為系統(tǒng)運(yùn)行時(shí)的“關(guān)于”窗體,其二為系統(tǒng)啟動(dòng)時(shí)的窗體,所以在“通用”部分定義模塊級(jí)的公共變量mbAbout,作為區(qū)別這來(lái)兩個(gè)作用的表識(shí)。 Option Explicit Public mbAbout As Boolean若mbAbout為true, 則表示為系統(tǒng)啟動(dòng)時(shí)的窗體。若mbAbout為flase,則表示為系統(tǒng)運(yùn)行時(shí)的“關(guān)于.”窗體。 UnloadForm子過(guò)程中,首先退出啟動(dòng)窗體,然后對(duì)mbAbout做出判斷,如果mbAbout為false,即表示此時(shí)的窗體為Splash窗體,需要顯示登錄窗體,否則就表示該窗體為“關(guān)于”窗體,就不需要顯示登錄窗體。Sub UnloadForm1() Unload Me If Not mbAbout Then Form2.ShowEnd Sub以下各事件調(diào)用了UnloadForm1子過(guò)程Private Sub Form1_KeyPress(KeyAscii As Integer) UnloadForm1End SubPrivate Sub Label3_Click() UnloadForm1End SubPrivate Sub Label2_Click() UnloadForm1End SubPrivate Sub Label_Click(Index As Integer) UnloadForm1End Sub4.2 登錄窗體: 4.2.1 窗體個(gè)屬性設(shè)置如下:對(duì)象 屬性設(shè)置Form2 NameForm2Caption系統(tǒng)登錄Frame1Name Frame1Caption登錄Label1NameLabel1Caption用戶名:Label2NameLabel2Caption密碼:Password*Label3NameLabel3Caption選擇身份Text1NameText1Text2NameText2Combo1NameCombo1Text身份List管理員 公交駕駛員Command1NameCommand1Caption確定DefaultTrueCommand2NameCommand2Caption取消表八4.2.2 代碼設(shè)計(jì) Option Explicit表示當(dāng)前用戶登錄所選擇的身份,即用戶類型0-表示管理員類用戶;1-表示普通類用戶Dim mnUserType As IntegerPrivate Sub Combo1_Change() mnUserType = Combo1.ListIndexEnd SubPrivate Sub Combo1_Click()mnUserType = Combo1.ListIndexEnd SubPrivate Sub Command1_Click()取得用戶輸入的用戶名和密碼 Dim user As String, pwd As String user = txtUser pwd = txtPwd 根據(jù)不同的身份,選擇不同的表用以查詢 Dim r As New ADODB.Recordset Set r = DataEnvironment1.rsygxm Dim strSQL As String Select Case mnUserType Case 0: 選擇身份為管理員 strSQL = select * from 用戶 where 用戶名= & user & and 口令= & pwd & Case 1: 選擇身份為駕駛員 strSQL = select * from 基本 where 姓名= & user & and 員工編號(hào)= & pwd & End Select On Error Resume Next If r.State = adStateOpen Then r.Close r.Open strSQL 用戶密碼錯(cuò)誤的次數(shù),如果錯(cuò)誤次數(shù)超過(guò)3次,則退出系統(tǒng) Static nTryCount As Integer If r.EOF Then 登錄失敗 MsgBox 對(duì)不起,無(wú)此用戶或者密碼不正確!請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤 txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelLength = Len(txtUser) nTryCount = nTryCount + 1 If nTryCount = 3 Then MsgBox 您無(wú)權(quán)操作本系統(tǒng)!再見(jiàn)!, vbCritical, 無(wú)權(quán)限 Unload Me End If Else 登陸成功 顯示MDI窗體, 并將用戶類型和用戶名傳到MDI窗體中 Load MDIForm1 With MDIForm1 .mnUserType = Combo1.ListIndex .msUserName = pwd .Show End With Unload Me End IfEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() Combo1.ListIndex = 0End Sub4.3 主窗體設(shè)計(jì)4.3.1主窗體個(gè)屬性設(shè)置如下:窗體屬性:對(duì)象屬性設(shè)置MDIForm1NameMDIForm1Caption公交駕駛員安全信息管理系統(tǒng)SartUpPosition3-窗口缺省表九菜單編輯:標(biāo)題名稱級(jí)別快捷鍵快捷方式管理員功能管理員功能一級(jí)駕駛員基本信息管理駕駛員基本信息管理二級(jí)E年審與安全公里數(shù)信息管理年審與安全公里數(shù)信息管理二極S駕駛員獎(jiǎng)懲信息管理駕駛員獎(jiǎng)懲信息管理二級(jí)J駕駛員違章肇事信息管理駕駛員違章肇事信息管理二級(jí)W用戶管理用戶管理二級(jí)Y重新登陸重新登陸二級(jí)C退出退出二級(jí)E駕駛員功能駕駛員功能一級(jí)基本信息基本信息二級(jí)B年審與安全公里數(shù)年審與安全公里數(shù)二級(jí)N獎(jiǎng)懲信息獎(jiǎng)懲信息二級(jí)M違章肇事信息違章肇事信息二級(jí)Z退出退出二級(jí)幫助幫助一級(jí)F1關(guān)于F2 表十4.3.2 代碼設(shè)計(jì): 1定義模塊級(jí)變量: Option Explicit表示當(dāng)前的用戶類型0-管理員類型的用戶; 1-普通類型的用戶Public mnUserType As Integer表示當(dāng)前登錄的用戶名Public msUserName As String2判斷用戶權(quán)限,同時(shí)隱藏不可用的模塊。 Private Sub MDIForm_Activate()根據(jù)不同的用戶類型,使相應(yīng)的菜單項(xiàng)可見(jiàn) Select Case mnUserType Case 0: 以管理員身份登錄 管理員功能.Visible = True 駕駛員功能 = True Case 1: 以駕駛員身份登錄, 只能查詢自己的信息 駕駛員功能.Visible = True 管理員功能 = False End SelectEnd Sub3 QueryUnload事件當(dāng)用戶要退出MDI窗體時(shí),需要在QueryUnload事件中進(jìn)行訪問(wèn),詢問(wèn)用戶是否真的要退出本系統(tǒng),如果用戶不要退出,則將Cancel值設(shè)為1 ,來(lái)取消整個(gè)退出過(guò)程。Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox(真的要對(duì)出本系統(tǒng)嗎?, vbQuestion + vbYesNo + vbDefaultButton2, 退出) = vbNo Then Cancel = 1 End IfEnd Sub4“重新登錄”子菜單的代碼 用戶單擊了“重新登錄”,將會(huì)給出提示,如果用戶在提示框中按下“確定”按鈕,則退出整個(gè)MDI窗體,并顯示登錄窗體Private Sub 重新登陸_Click(Index As Integer)If MsgBox(若重新登錄,所有窗體都將關(guān)閉!是否重新登錄?, vbQuestion + vbYesNo + vbDefaultButton2, 重新登錄) = vbYes Then Unload MDIForm1 Form2.ShowEnd IfEnd Sub5 其他事件代碼 Private Sub 基本信息_Click()Form3.ShowEnd SubPrivate Sub 駕駛員基本信息管理_Click() Form4.SSTab1.Tab = 0 Form4.Frame1.Visible = True Form4.Frame15.Visible = TrueEnd SubPrivate Sub 駕駛員獎(jiǎng)懲信息管理_Click()Form4.SSTab1 = 2Form4.Frame4.Visible = TrueForm4.Frame13.Visible = TrueEnd SubPrivate Sub 駕駛員違章肇事信息管理_Click()Form4.SSTab1 = 3Form4.Frame5.Visible = TrueForm4.Frame14.Visible = TrueEnd SubPrivate Sub 獎(jiǎng)懲信息_Click()Form3.ShowEnd SubPrivate Sub 年審與安全公里數(shù)_Click()Form3.ShowEnd SubPrivate Sub 年審與安全公里數(shù)信息管理_Click()Form4.SSTab1 = 1Form4.Frame2.Visible = TrueForm4.Frame12.Visible = TrueEnd SubPrivate Sub 退出1_Click()Unload MeEnd SubPrivate Sub 違章肇事信息_Click()Form3.ShowEnd SubPrivate Sub 用戶管理_Click()Form4.SSTab1 = 4Form4.Frame8.Visible = TrueForm4.Frame15.Visible = TrueEnd Sub4.4 信息管理窗體用戶以管理員身份才可以訪問(wèn)到此模塊。4.4.1 添加數(shù)據(jù)連接 在窗體實(shí)現(xiàn)代碼中,需要取得數(shù)據(jù)庫(kù)中的基本表的記錄。設(shè)置圖如圖十三圖十三 4.4.2窗體及個(gè)控件屬性設(shè)置如下:對(duì)象屬性設(shè)置Form4NameForm4Caption信息管理MDIChildTureSSTab1NameSSTab1Tab=0基本信息瀏覽Tab=1年審與安全公里數(shù)瀏覽Tab=2獎(jiǎng)懲信息瀏覽Tab=3違章肇事信息瀏覽Tab=4用戶信息瀏覽表十一基本信息管理和瀏覽各控件屬性設(shè)置(由于篇幅的問(wèn)題,這里只對(duì)基本表的設(shè)置列出)對(duì)象屬性設(shè)置DataGrid1NameDataGrid1DataSourceDataEnvironment1DataMember基本Caption信息瀏覽Frame1NameFrame1Caption基本信息管理Label1NameLabel1Caption員工編號(hào)Label2NameLabel2Caption姓名Label3NameLabel3Caption出生日期Label4NameLabel4Caption性別Label5NameLabel5Caption政治面貌Label6NameLabel6Caption文化程度Labe7NameLabel7Caption駕駛證號(hào)Label8NameLabel8Caption身份證號(hào)Label9NameLabel9Caption準(zhǔn)駕車型Label10NameLabel10Caption登記日期Label11NameLabel11Caption單位Label12NameLabel12Caption星級(jí)Label13NameLabel13Caption備注Text1NameText1DataField員工編號(hào)DateMember基本DataSourceDataEnvironment1Text2NameText2DataField姓名DateMember基本DataSourceDataEnvironment1Text3NameText3DataField出生日期DateMember基本DataSourceDataEnvironment1DataFormat日期Combo1NameCombo1DataField性別DateMember基本DataSourceDataEnvironment1List男 女Text4NameText4DataField政治面貌DateMemer基本DataSourceDataEnvironment1Combo2NameCombo2DataField文化程度DateMember基本DataSourceDataEnvironment1List初中 高中 大專 本科Text7NameText7DataField駕駛證號(hào)DateMember基本DataSourceDataEnvironment1Text8NameText8DataField身份證號(hào)DateMember基本DataSourceDataEnvironment1Combo3NameCombo3DataField準(zhǔn)駕車型DateMember基本DataSourceDataEnvironment1listA B C D E Text10NameText10DataField登記日期DateMember基本DataSourceDataEnvironment1Dataformat日期Text11NameText11DataField單位DateMember基本DataSourceDataEnvironment1Combo4NameCombo4DataField星級(jí)DateMember基本DataSourceDataEnvironment1list Text13NameText13DataField備注DateMember基本DataSourceDataEnvironment1MuLtiLineTrueFrame10NameFrame10Caption管理Command1NameCommand1Caption增加Command2NameCommand2Caption刪除Command3NameCommand3Caption修改Command4NameCommand4Caption查詢Frame12NameFrame12Caption瀏覽Command22NameCommand22CaptionCommand23Command23CaptionCommand25Command25Caption表十二4.4.2 代碼設(shè)計(jì): 1模塊級(jí)變量聲明 Option ExplicitDim mbClose As Boolean 是否能關(guān)閉Dim msSerial As String 當(dāng)前編輯的駕駛員編號(hào)2基本表數(shù)據(jù)管理代碼設(shè)計(jì) 基本信息表代碼設(shè)計(jì)Private Sub Command1_Click()基本信息表增加DataEnvironment1.rs基本.AddNew Text1.SetFocus Frame1.Enabled = True Frame11.Enabled = False Command1.Enabled = False Command3.Enabled = False Command2.Enabled = False Command4.Enabled = True Command21.Caption = 取消 Command21.Enabled = True mbClose = FalseEnd SubPrivate Sub Command2_Click() 刪除On Error GoTo errHandler If MsgBox(要?jiǎng)h除記錄?, vbYesNo + vbQuestion + vbDefaultButton2, 確認(rèn)) = vbYes Then DataEnvironment1.Connection1.Execute delete from 基本 where 員工編號(hào) = & Text1 & DataEnvironment1.rs基本.MoveNext If DataEnvironment1.rs基本.EOF Then DataEnvironment1.rs基本.MoveLast 刷新用戶導(dǎo)航的網(wǎng)格控件 Call RefreshGrid End If Exit Sub errHandler: MsgBox Err.Description, vbCritical, 錯(cuò)誤End SubPrivate Sub Command3_Click() 修改 Frame1.Enabled = True Command1.Enabled = False Command3.Enabled = False Command2.Enabled = False Command4.Enabled = True Command21.Caption = 取消 更改為“取消更新”的狀態(tài) Command21.Enabled = True mbClose = False 不能關(guān)閉窗口End SubPrivate Sub Command4_Click() 更新 On Error GoTo errHandler: Dim str As String str = Text1.Te

溫馨提示

  • 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)論