![數(shù)據(jù)庫課程設(shè)計(jì)課程設(shè)計(jì)說明書汽車租賃管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/6e385db1-3333-4428-92b3-30628cece182/6e385db1-3333-4428-92b3-30628cece1821.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)課程設(shè)計(jì)說明書汽車租賃管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/6e385db1-3333-4428-92b3-30628cece182/6e385db1-3333-4428-92b3-30628cece1822.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)課程設(shè)計(jì)說明書汽車租賃管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/6e385db1-3333-4428-92b3-30628cece182/6e385db1-3333-4428-92b3-30628cece1823.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)課程設(shè)計(jì)說明書汽車租賃管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/6e385db1-3333-4428-92b3-30628cece182/6e385db1-3333-4428-92b3-30628cece1824.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)課程設(shè)計(jì)說明書汽車租賃管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/6e385db1-3333-4428-92b3-30628cece182/6e385db1-3333-4428-92b3-30628cece1825.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計(jì)說明書設(shè)計(jì)說明書課程名稱 數(shù)據(jù)庫課程設(shè)計(jì)數(shù)據(jù)庫課程設(shè)計(jì) 題目名稱 汽車租賃管理系統(tǒng) 學(xué)生姓名 學(xué)號 專 業(yè) 指導(dǎo)教師 年 月 日 目錄目錄第一章第一章 系統(tǒng)概述系統(tǒng)概述 .1 11.1 背景.11.2 發(fā)展現(xiàn)狀.1第二章第二章 需求分析需求分析 .2 22.1 功能需求.22.2 數(shù)據(jù)需求.3第三章第三章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) .5 53.1 系統(tǒng)結(jié)構(gòu).53.2 數(shù)據(jù)庫設(shè)計(jì).53.2.1 er 圖 .53.2.2 邏輯結(jié)構(gòu).63.2.3 數(shù)據(jù)庫物理結(jié)構(gòu).73.2.4 數(shù)據(jù)庫實(shí)現(xiàn).93.3 用戶控制系統(tǒng).93.4 模塊設(shè)計(jì).103.4.1 汽車管理模塊設(shè)計(jì).103.4.2 基本設(shè)置模塊設(shè)計(jì).11
2、第四章第四章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) .11114.1 用戶登錄模塊.114.2 汽車管理模塊實(shí)現(xiàn).124.3 汽車預(yù)租模塊實(shí)現(xiàn).16第五章第五章 后記后記 .18185.1 完善計(jì)劃.185.2 個人總結(jié).19參考文獻(xiàn)參考文獻(xiàn) .1919第一章第一章 系統(tǒng)概述系統(tǒng)概述1.1 背景今天,隨著人民生活水平的提高,汽車工業(yè)的發(fā)展和汽車的普及,汽車如今已經(jīng)與我們的生活密不可分,而汽車租賃也已成為一個極具市場潛力的行業(yè),面對飛速發(fā)展的汽車租賃市場,其經(jīng)營管理的汽車種類繁多,樣式各異,客戶需求量大,客戶要求高,每天的工作量大,一套完整的管理系統(tǒng)對于汽車租賃公司來說已經(jīng)十分重要, 在信息飛速發(fā)展的今天,計(jì)算機(jī)在
3、事務(wù)管理方面的應(yīng)用已經(jīng)相當(dāng)廣泛,但目前很多汽車租賃公司還停留在人工管理的水平上,顯然不適應(yīng)時(shí)代的發(fā)展,管理人員目前需要一套方便、計(jì)算機(jī)化的管理信息系統(tǒng)來代替他們繁瑣、低效的傳統(tǒng)手工管理方式,并最終實(shí)現(xiàn)汽車租賃管理的全面自動化,使用汽車租賃管理系統(tǒng)可以規(guī)范企業(yè)的管理和經(jīng)營行為,減少企業(yè)的經(jīng)營成本,提高工作效率。汽車租賃管理系統(tǒng)是為汽車租賃公司提供的一個簡單易用的系統(tǒng),隨著科技的發(fā)展,設(shè)備和管理的現(xiàn)代化,在實(shí)際工作中如何提高工作效率成為一個很重要的問題。而建立管理系統(tǒng)是一個很好的解決辦法。1.2 發(fā)展現(xiàn)狀目前市場上相關(guān)系統(tǒng)并不多,畢竟汽車租賃行業(yè)也算是個新興的產(chǎn)業(yè),但由于它的飛速發(fā)展,市場也看到了
4、它的設(shè)計(jì)價(jià)值,不過大都大同小異,一般市場上的汽車租賃管理系統(tǒng)多是針對汽車租賃的業(yè)務(wù)處理的一種系統(tǒng),其它管理層面也有涉及,只是比較簡略,一般包括基本設(shè)置、綜合管理、業(yè)務(wù)處理、查詢報(bào)表、統(tǒng)計(jì)排行以及系統(tǒng)管理等模塊,優(yōu)點(diǎn)在于業(yè)務(wù)處理模塊比較結(jié)合實(shí)際,所以對于日常的汽車租賃管理系統(tǒng)已經(jīng)不成問題,但缺點(diǎn)也是存在的。如汽車照片的存儲仍然采取相對路徑的存儲,用戶密碼的安全性做得不夠,系統(tǒng)的擴(kuò)展性也不是很全等。因此,我們決定利用所學(xué)知識設(shè)計(jì)一個汽車租賃管理系統(tǒng),主要是針對汽車租賃的基本設(shè)置、綜合管理、業(yè)務(wù)處理、查詢報(bào)表、統(tǒng)計(jì)排行以及系統(tǒng)管理進(jìn)行全面管理的系統(tǒng),而并不再是只注重于業(yè)務(wù)處理,并且我們將解決一些問題
5、,如汽車照片用二進(jìn)制進(jìn)行存取,用戶密碼進(jìn)行雙重加密,基本設(shè)置模塊更好地體現(xiàn)系統(tǒng)的擴(kuò)展性,報(bào)表的打印,sql 語句利用視圖跟存儲過程,以增強(qiáng)系統(tǒng)的訪問安全性,試圖完善汽車租賃管理系統(tǒng)的安全性跟擴(kuò)展性,讓其更人性化,更好地服務(wù)于汽車租賃公司。第二章第二章 需求分析需求分析2.1 功能需求經(jīng)過調(diào)研及分析,汽車租賃管理系統(tǒng)主要完成以下功能:(1)綜合管理此模塊主要對客戶(包括普通客戶跟會員) ,員工以及汽車的具體信息進(jìn)行管理,分為普通客戶管理,會員管理,員工管理以及汽車管理。汽車管理:管理員可以對租賃公司現(xiàn)已擁有的汽車的具體信息進(jìn)行查看,修改信息或者刪除檔案(當(dāng)汽車報(bào)廢或不再租賃時(shí)) ,而且是可以批量
6、刪除的,也可添加新購進(jìn)的汽車的具體信息,以便更快地投入租賃市場,方便客戶了解,以便做出更好的租賃選擇。普通客戶管理/會員管理:管理員對客戶的資料(包括普通客戶跟會員)可以進(jìn)行查看,添加新客戶,修改一些基本資料以及刪除客戶檔案;員工管理:對聘用的員工的資料也可以進(jìn)行查看,對新聘用的員工添加其詳細(xì)信息,修改一些基本信息以及刪除員工檔案。(2)業(yè)務(wù)管理此模塊提供對汽車日常業(yè)務(wù)進(jìn)行管理,包括汽車預(yù)租/出租/續(xù)租,汽車加油,汽車維修,還車結(jié)算,催車還交以及事故登記。汽車預(yù)租:員工可以根據(jù)客戶需求幫其預(yù)租汽車,可以查看及修改預(yù)租的相關(guān)信息,但是不可以刪除客戶之前已經(jīng)預(yù)租的汽車,管理員可以修改以及取消客戶之
7、前已經(jīng)預(yù)租的汽車,可以查看已經(jīng)預(yù)租汽車的情況等。汽車出租:員工可以根據(jù)客戶的需求出租汽車,可以查看及修改出租的相關(guān)信息,但也不可以刪除已經(jīng)出租的汽車,而管理員則可以修改,查看以及刪除出租汽車的相關(guān)情況。當(dāng)汽車出租時(shí)可以打印相關(guān)合同,雙方簽訂合同。汽車?yán)m(xù)租:在客戶出租汽車的還車時(shí)間三天之前可前往汽車租賃公司辦理汽車?yán)m(xù)租手續(xù),員工在檢查完汽車的相關(guān)情況后,可根據(jù)實(shí)際情況調(diào)整還車時(shí)間以便達(dá)到續(xù)租的目的。汽車加油:員工可以進(jìn)行記錄相關(guān)加油情況,修改,刪除加油記錄。汽車維修:員工可以進(jìn)行記錄汽車相關(guān)維修情況,修改,刪除維修記錄。還車結(jié)算:員工對來還車的客戶進(jìn)行查詢,統(tǒng)計(jì)其它費(fèi)用(如事故費(fèi),罰金費(fèi)等) ,
8、算出總費(fèi)用,收款后返回客戶押金以及客戶抵押件等。催車還交:員工可以根據(jù)出租汽車的還車時(shí)間,催促那些還車時(shí)間快到了的客戶及時(shí)還車以免交罰金。事故登記:員工應(yīng)該根據(jù)所出租的汽車發(fā)生的事故的具體情況登記入表,以便以后查詢,也可修改或刪除信息。(3)基本設(shè)置管理此模塊提供對汽車信息設(shè)置以及服務(wù)信息設(shè)置的全面管理功能。包括汽車設(shè)置管理與服務(wù)設(shè)置管理等。管理員可以對一些基本信息進(jìn)行添加,修改,刪除。汽車設(shè)置管理包括汽車類型設(shè)置,汽車名稱設(shè)置,燃油類型設(shè)置;服務(wù)設(shè)置管理包括修理廠設(shè)置,加油站設(shè)置,保險(xiǎn)類型設(shè)置。這項(xiàng)管理可以使管理員更好地根據(jù)租賃公司實(shí)際情況修改汽車以及服務(wù)的一些基本信息,使系統(tǒng)更適合其公司的
9、運(yùn)營,而且管理員只需在設(shè)置界面進(jìn)行修改,而不需自己修改數(shù)據(jù)庫,更體現(xiàn)出系統(tǒng)的人性化。(4)查詢報(bào)表此模塊分為加油記錄查詢,維修記錄查詢,汽車預(yù)租查詢,汽車出租查詢,還車結(jié)算查詢,事故記錄查詢,單車租賃查詢,汽車資料查詢,會員資料查詢,客戶資料查詢以及員工資料查詢。此模塊可對客戶,員工以及汽車相關(guān)業(yè)務(wù)的情況進(jìn)行查詢,對查詢到的相關(guān)信息可以生成相應(yīng)的 excel 文件以及打印報(bào)表,尤其是汽車資料查詢還可以生成顯示照片的報(bào)表等。(5)統(tǒng)計(jì)排行此模塊根據(jù)汽車出租次數(shù)的實(shí)際情況可以統(tǒng)計(jì)出本周/本月/全部排行,進(jìn)而有利于管理員分析購買哪些汽車能使公司的利潤最大化。還可以根據(jù)客戶(包括普通客戶和會員)租賃汽
10、車的次數(shù),統(tǒng)計(jì)出其排行,有利于管理員有針對性地對某些客戶進(jìn)行高質(zhì)里的服務(wù)。(6)系統(tǒng)維護(hù)備份數(shù)據(jù):可以提供直接備份數(shù)據(jù)庫的相關(guān)數(shù)據(jù)還原數(shù)據(jù):當(dāng)系統(tǒng)出現(xiàn)異常狀況時(shí)可以通過此還原數(shù)據(jù)庫的相關(guān)數(shù)據(jù)修改密碼:可以賬戶修改登錄密碼,密碼是采取雙重 md5 加密,使其更具安全性。2.2 數(shù)據(jù)需求 :系統(tǒng)外部 :實(shí)物或單據(jù) :實(shí)物或信息流向:處理 :數(shù)據(jù)存儲圖圖 2-12-1 綜合管理流程圖綜合管理流程圖圖圖 2-22-2 汽車預(yù)租流程圖汽車預(yù)租流程圖圖圖 2-32-3 汽車出租、續(xù)租流程圖汽車出租、續(xù)租流程圖圖圖 2-42-4 還車結(jié)算流程圖還車結(jié)算流程圖員工查詢汽車信息表普通客戶/會員信息登記客戶信息表
11、管理員員工信息登記汽車信息登記員工信息表客戶(普通客戶/會員)預(yù)租請求汽車預(yù)租表員工員工汽車預(yù)租表簽訂合同客戶汽車出租表續(xù)租請求費(fèi)用結(jié)算表客戶(普通客戶/會員)員工還車查詢費(fèi)用繳納費(fèi)用p003員工加油、維修、事故登記加油、維修、事故信息表圖圖 2-52-5 汽車加油、維修、事故流程圖汽車加油、維修、事故流程圖圖圖 2-62-6 基本設(shè)置流程圖基本設(shè)置流程圖第三章第三章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)結(jié)構(gòu)此汽車租賃管理系統(tǒng)主要實(shí)現(xiàn) 6 個大的功能模塊:綜合管理、業(yè)務(wù)管理,基本設(shè)置,查詢報(bào)表、統(tǒng)計(jì)排行、系統(tǒng)維護(hù)。每個模塊有分成多詳細(xì)的功能子模塊。詳情如下圖 3-1 所示:圖圖 3-13-1 系統(tǒng)結(jié)構(gòu)
12、圖系統(tǒng)結(jié)構(gòu)圖3.2 數(shù)據(jù)庫設(shè)計(jì)汽車租賃管理系統(tǒng)汽車設(shè)置管理基本設(shè)置管理服務(wù)設(shè)置管理綜合管理汽車管理業(yè)務(wù)管理汽車預(yù)/出/續(xù)租汽車加油汽車維修還車結(jié)算催車還交事故登記查詢報(bào)表統(tǒng)計(jì)排行汽車查詢客戶資料查詢客戶租賃排行本周/月/全部排行人事管理系統(tǒng)維護(hù)備份數(shù)據(jù)權(quán)限管理員工運(yùn)用基本設(shè)置表管理員基本設(shè)置錄入3.2.1 er 圖3.2.2 邏輯結(jié)構(gòu)1、用戶信息表用戶(uid , users, pwd, type)分析:因?yàn)?uid 是主鍵,而且 users 不允許重復(fù),所以主鍵只有一個屬性,不存在部分依賴;又因?yàn)?uid users,所以不存在非主屬性對主鍵 uid 的傳遞依賴,所以該關(guān)系屬于 3nf。2、
13、客戶信息表客戶(kid, ktype,kname,ksex,ksf,kdy,ktel,klic,kadd,ktimes)分析:因?yàn)橹挥?kid 是主鍵,所以不存在部分依賴,因此該關(guān)系屬于 2nf。但存在非主屬性 kname 通過 ktel 對主鍵 kid 的傳遞依賴,所以該關(guān)系不屬于 3nf。3、員工信息表員工(eid,ename,esex,esf,etel,eadd)分析:因?yàn)橹挥?eid 是主鍵,所以不存在部分依賴,因此該關(guān)系屬于 2nf。但存在非主屬性 ename 通過 etel 對主鍵 eid 的傳遞依賴,所以該關(guān)系不屬于 3nf。4、管理員信息表管理員(uid,uname,usex)
14、分析:因?yàn)橹挥?uid 是主鍵,所以不存在部分依賴,且不存在非主屬性對主鍵 uid繳納收繳設(shè)置屬于屬于2屬于30,n0,n0,n0,n1,n0,n0,n0,n0,n汽車cidcnamectypecnumcclorclsucoilcphocmilecgmcbfcdepcdmcstactimesserial (4)characters (10)characters (10)characters (10)characters (6)characters (10)characters (6)imagenumber (5)date & timedate & timemoneymoneyc
15、haracters (10)number (4)identifier_1客戶ktypeknameksexksfkdyktelklickaddktimescharacters (8)characters (10)characters (5)characters (20)characters (10)characters (15)characters (10)characters (50)number (4)費(fèi)用fdisfreturnfotherftotalnumber (4)date & timemoneymoney基本信息sidsstylesnameserial (4)characte
16、rs (10)characters (16)identifier_1員工enameesexesfeteleaddcharacters (10)characters (6)characters (20)characters (15)characters (25)管理員unameusexcharacters (10)characters (6)用戶uiduserspwdtypeserial (4)characters (20)characters (35)characters (8)key_1維修r(nóng)idrplacermatrpmoneyrother.serial (4)characters (10
17、)moneymoneymoney.事故aidapleadateaplaceacus.serialcharacters (10)date & timecharacters (20)characters (20).加油oidoilstationpriceoilvolumeototal.serial (4)characters (10)number (4)number (5)money.租賃htidrenttyperenttimereturntimemustmoney.serial (4)characters (8)date & timedate & timemoney.na
18、mesetoldnamenewnamecharacters (15)characters (20)的傳遞依賴,所以該關(guān)系屬于 3nf。5、汽車信息表汽車(cid,cname,ctype,cnum,cclor,clsu,coil,cpho,cmile,cgm,cbf,cdep,cdm,csta,ctimes)分析:因?yàn)?cid 是主鍵,而且 cnum 不允許重復(fù),所以主鍵只有一個屬性,不存在部分依賴;又因?yàn)?cid cnum,所以不存在非主屬性對主鍵 cid 的傳遞依賴,所以該關(guān)系屬于 3nf。6、租賃情況表租賃 (htid,cid,eid,kid,renttype,renttime,retur
19、ntime,mustmoney,des,regtime,rem)分析:因?yàn)橹挥?htid 是主鍵,所以不存在部分依賴,因此該關(guān)系屬于 2nf。但存在非主屬性 des 通過 cid 對主鍵 htid 的傳遞依賴,所以該關(guān)系不屬于 3nf。7、加油表加油(oid,cid,eid,oilstation,price,oilvolume,ototal,odate)分析:因?yàn)橹挥?oid 是主鍵,所以不存在部分依賴,且不存在非主屬性對主鍵 oid的傳遞依賴,所以該關(guān)系屬于 3nf。8、維修表維修(rid,cid,eid,rplace,rmat,rpmoney,rother,rtotal,rdate,rco
20、n,rrem)分析:因?yàn)橹挥?rid 是主鍵,所以不存在部分依賴,且不存在非主屬性對主鍵 rid的傳遞依賴,所以該關(guān)系屬于 3nf。9、事故登記表事故(aid,cid,eid,aple,adate,aplace,acus,acon,adtime,arem)分析:因?yàn)橹挥?aid 是主鍵,所以不存在部分依賴,且不存在非主屬性對主鍵 aid的傳遞依賴,所以該關(guān)系屬于 3nf。10、費(fèi)用表費(fèi)用(htid,eid,kid,fdis,freturn,fother,ftotal)分析:因?yàn)橹挥?htid 是主鍵,所以不存在部分依賴,因此該關(guān)系屬于 2nf。但存在非主屬性 fdis 通過 kid 對主鍵 h
21、tid 的傳遞依賴,所以該關(guān)系不屬于 3nf。11、基本信息表基本信息(sid,uid,sstyle,sname)分析:因?yàn)橹挥?sid 是主鍵,所以不存在部分依賴,且不存在非主屬性對主鍵 sid的傳遞依賴,所以該關(guān)系屬于 3nf。3.2.3 數(shù)據(jù)庫物理結(jié)構(gòu)1、視圖uh_kh: select * from 用戶,客戶 where kid=uidkh_ht: select * from 客戶 where(not exists(select * from ht where kid=客戶.kid)ht: select htid,kname,ktype,ktel,cname,ctype,cnum,re
22、nttype,renttime,returntime,mustmoney,des,regtime,rem,租賃.cid,租賃.kid,eidfrom 租賃,汽車,客戶 where 租賃.cid = 汽車.cid and 客戶.kid=租賃.kidoil:select oid,加油.cid,加油.eid,oilstation,price,oilvolume,ototal,odate,ename,cname,coil from 加油,汽車,員工 where 加油.cid = 汽車.cid2、存儲過程u_xg: create procedure u_xg ( users char(20), pwd
23、char(35) ) asupdate 用戶 set pwd=pwd where users=userskh_tj: create procedure kh_tj(users char(20),pwd char(35),ktype char(8),kname char(10),ksex char(5),ksf char(20),kdy char(10),ktel char(15),klic char(10),kadd char(25) as declare kid numeric(4) begininsert into 用戶 (users,pwd,type) values(users,pwd,
24、ktype)select kid=uid from 用戶 where users=usersinsert into 客戶 (kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd) values(kid,ktype,kname,ksex,ksf,kdy,ktel,klic,kadd)endem_tj: create procedure em_tj (users char(20),pwd char(35),type char(8),ename char(10),esex char(6),esf char(20),etel char(15),eadd char(25
25、) as declare eid numeric(4) begininsert into 用戶 (users,pwd,type) values(users,pwd,type)select eid=uid from 用戶 where users=usersinsert into 員工 values(eid,ename,esex,esf,etel,eadd)endcar_xg: create procedure car_xg (cid numeric(4),cname char(10),ctype char(10),cnum char(10),cclor char(6),clsu char(10)
26、,coil char(6),cpho image,cmile numeric(5),cgm datetime,cbf datetime,cdep money,cdm money) as beginupdate 汽車 set cname=cname,ctype=ctype,cnum=cnum,cclor=cclor,clsu=clsu,coil=coil,cpho=cpho,cmile=cmile,cgm=cgm,cbf=cbf,cdep=cdep,cdm=cdm where cid=cidend3、觸發(fā)器csta_xg: create trigger csta_xg on 租賃 for ins
27、ert asupdate 汽車 set csta=(select renttype from inserted) where cid=(select cid from inserted)csta_xg2: create trigger csta_xg2 on 租賃 for update asif (select cid from deleted)(select cid from inserted)beginupdate 汽車 set csta=待租 where cid=(select cid from deleted)update 汽車 set csta=(select renttype fr
28、om inserted) where cid=(select cid from inserted)update 汽車 set ctimes=ctimes+1 where cid=(select cid from inserted)update 汽車 set ctimes=ctimes-1 where cid=(select cid from deleted)endctimes_xg: create trigger ctimes_xg on 租賃 for insert as declare ctimes numeric(4)if (select renttype from inserted)=出
29、租update 汽車 set ctimes=ctimes+1 where cid=(select cid from inserted)ht_change: create trigger ht_change on 租賃 for delete asupdate 汽車 set csta=待租 where cid=(select cid from deleted)3.2.4 數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)庫創(chuàng)建語句:if exists (select name from master.dbo.sysdatabases where name = ncar)drop database cargocreate databa
30、se car on (name = ncar_data, filename = nc:program filesmicrosoft sql servermssqldatacar_data.mdf , size = 8, filegrowth = 10%) log on (name = ncar_log, filename = nc:program filesmicrosoft sql servermssqldatacar_log.ldf , size = 5, filegrowth = 10%) collate chinese_prc_ci_asgo3.3 用戶控制系統(tǒng)系統(tǒng)及數(shù)據(jù)庫中用戶訪問控
31、制體系可以用如下圖 3-2 所示:圖圖 3-23-2 用戶控制系統(tǒng)圖用戶控制系統(tǒng)圖3.4 模塊設(shè)計(jì)3.4.1 汽車管理模塊設(shè)計(jì)此模塊實(shí)現(xiàn):管理員可以對租賃公司現(xiàn)已擁有的汽車的具體信息進(jìn)行查看,修改檔案或者刪除檔案(當(dāng)汽車報(bào)廢或不再租賃時(shí)) ,而且是可以批量刪除的,也可添加新購進(jìn)的汽車的具體信息,以便更快地投入租賃市場,方便客戶了解,以便做出更好的租賃選擇。此模塊設(shè)計(jì)過程中,由于經(jīng)常有大量的汽車照片需要保存,簡便的方法是把圖片存儲在指定的文件夾下,數(shù)據(jù)庫中只保存圖片所在的路徑和圖片名,但是這種方法對數(shù)據(jù)的管理很不方便,同時(shí)安全性和可靠性也不能保證;另一種方法是把圖片數(shù)據(jù)存儲在數(shù)據(jù)庫中,在數(shù)據(jù)庫中
32、提供了 image 數(shù)據(jù)類型,該類型存儲的是可變長度的二進(jìn)制數(shù),因此要把保存到數(shù)據(jù)庫中的圖片文件的類型轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)類型。利用memorystream 類將圖像文件以二進(jìn)制的形式在數(shù)據(jù)庫中直接進(jìn)行讀寫操作。此模塊采用第二種方法即把圖片以二進(jìn)制的形式存儲在數(shù)據(jù)庫中,該方案解決了汽車租賃管理系統(tǒng)中數(shù)據(jù)庫存儲圖像數(shù)據(jù)的問題,提高了汽車租賃管理系統(tǒng)的應(yīng)用功能和范圍。由于圖片的保存是一個獨(dú)立的過程,在其它的模塊開發(fā)中也可以方便的應(yīng)用,提高了整個系統(tǒng)開發(fā)的效率。另外,考慮到系統(tǒng)的人性化,添加,修改以及刪除等操作采取了批處理,即可以批量添加,批量修改以及批量刪除;而在批量刪除時(shí)要注意在選中的行中從后面往前
33、用戶通過 bridge 判斷賬戶驗(yàn)證通過系統(tǒng)進(jìn)入3 次未通過退出程序判斷賬戶權(quán)限員工管理員客戶刪,避免出現(xiàn)沙漏效應(yīng)。3.4.2 基本設(shè)置模塊設(shè)計(jì)此模塊實(shí)現(xiàn):提供對汽車信息設(shè)置以及服務(wù)信息設(shè)置的全面管理功能。包括汽車設(shè)置管理與服務(wù)設(shè)置管理等。管理員可以對一些基本信息進(jìn)行添加,修改,刪除。汽車設(shè)置管理包括汽車類型設(shè)置,汽車名稱設(shè)置,燃油類型設(shè)置;服務(wù)設(shè)置管理包括修理廠設(shè)置,加油站設(shè)置,保險(xiǎn)類型設(shè)置。這項(xiàng)管理可以使管理員更好地根據(jù)租賃公司實(shí)際情況修改汽車以及服務(wù)的一些基本信息,使系統(tǒng)更適合其公司的運(yùn)營,而且管理員只需在設(shè)置界面進(jìn)行修改,而不需自己修改數(shù)據(jù)庫,更體現(xiàn)出系統(tǒng)的人性化。第四章第四章 系統(tǒng)實(shí)
34、現(xiàn)系統(tǒng)實(shí)現(xiàn)4.1 用戶登錄模塊1、界面如圖 4-1 所示:圖圖 4-14-1 用戶登錄模塊用戶登錄模塊2、重點(diǎn)代碼(1) 、加密函數(shù)public function 加密(byval strsource as string) as string datatohash= (new system.text.asciiencoding).getbytes(strsource) hashvalue = ctype(system.security.cryptography.cryptoconfig.createfromname(md5), system.security.cryptography.hash
35、algorithm).computehash(datatohash) for i = 0 to 15 strresult += hex(hashvalue(i).tolower next return strresult end function(2) 、連接數(shù)據(jù)庫public sub 連接數(shù)據(jù)庫() if type.trim = 管理員 then con.connectionstring = server=.;database=car;user id=admin;password=admin elseif type.trim = 員工 then con.connectionstring =
36、server=.;database=car;user id=employee;password=employee elseif type.trim = 客戶 then con.connectionstring = server=.;database=car;user id=kh;password=kh end if cmd.connection = conend sub4.2 汽車管理模塊實(shí)現(xiàn)1、界面如圖 4-2 所示:圖圖 4-24-2 汽車管理模塊汽車管理模塊2、重點(diǎn)代碼(1) 、批量刪除 public sub deletedgvs(byref dgv as datagridview, b
37、yval sql as string) count = dgv.selectedrows.count res = msgbox(確定刪除這 & count & 條記錄?, 1 + 32 + 0, 提示) if res = 1 then try for i = count - 1 to 0 step -1 cmd.commandtext = sql & dgv.selectedrows(i).cells(0).value & con.open() cmd.executenonquery() dgv.rows.remove(dgv.selectedrows(i) c
38、on.close() next catch ex as exception msgbox(刪除記錄失??!, 0 + 48 + 0, 刪除失敗) con.close() exit sub end try msgbox(已刪除 & count & 條記錄!, 0 + 48 + 0, 刪除成功) con.close() else exit sub end if end sub(2) 、靈活性填充(填充 datagridview 的 filldgv 函數(shù)) public sub filldgv(byref dgv as datagridview, byval sql as string
39、) if dr.hasrows then while dr.read with dgv .rows.add() for j = 0 to dr.fieldcount - 1 .columns(j).name = dr.getname(j).trim .rows(i).cells(j).value = dr.getvalue(j) next end with i = i + 1 end while else for j = 0 to dr.fieldcount - 1 dgv.columns(j).name = dr.getname(j).trim next end if con.close()
40、 for i = 0 to dgv.columncount - 1 cmd.commandtext = select * from nameset where oldname= & dgv.columns(i).name.trim & con.open() dr = cmd.executereader if dr.read then dgv.columns(i).headercell.value = dr.getstring(1).trim end if con.close() next end sub(3) 、把圖片轉(zhuǎn)換成二進(jìn)制流public sub 選擇照片(byref o
41、penfiledialog1 as openfiledialog, byref pb as picturebox) openfiledialog1.showdialog() if openfiledialog1.filename then filepath = openfiledialog1.filename.tostring pic = new bitmap(filepath) pb.image = pic dim ms as new io.memorystream pb.image.save(ms, pb.image.rawformat) data = ms.getbuffer ms.cl
42、ose() else if data is nothing then pb.image = nothing end if end if end sub(4) 、把圖片從數(shù)據(jù)庫取出 if dr.isdbnull(7) then pb.image = nothing else data = ctype(dr.item(7), byte() dim ms as new io.memorystream(data) pb.image = image.fromstream(ms) ms.close() end if(5)填充 comboboxpublic sub showjb(byref combo as
43、 combobox, byval sql as string) cmd.commandtext = select sname from jb where sstyle= & sql & con.open() dr = cmd.executereader while dr.read combo.items.add(dr.getstring(0).trim) end while con.close()end sub4.3 汽車預(yù)租模塊實(shí)現(xiàn)1、界面如圖 4-3 所示:圖圖 4-34-3 汽車預(yù)租模塊汽車預(yù)租模塊2、重點(diǎn)代碼(1)查詢條件for i = 0 to arr.count -
44、 1 if dgv1.rows(i).cells(0).value = then if dgv1.rows(i).cells(3).value is nothing then msgbox(查詢條件不能為空!, 0 + 48 + 0, 提醒) exit sub end if sql = sql + arr.item(i).tostring.trim + sign + & dgv1.rows(i).cells(3).value.tostring.trim & elseif dgv1.rows(i).cells(0).value = 并且 then if dgv1.rows(i).
45、cells(3).value is nothing then msgbox(查詢條件不能為空!, 0 + 48 + 0, 提醒) exit sub end if sql = sql + and + arr.item(i).tostring.trim + sign + & dgv1.rows(i).cells(3).value.tostring.trim & else if dgv1.rows(i).cells(3).value is nothing then msgbox(查詢條件不能為空!, 0 + 48 + 0, 提醒) exit sub end if sql = sql
46、+ or + arr.item(i).tostring.trim + sign + & dgv1.rows(i).cells(3).value.tostring.trim & end if next(2) 、生成 excelpublic sub getexcel(byref dgv as datagridview) mybook = myapp.workbooks.add() mysheet = mybook.worksheets(1) mysheet.name = dsname mysheet.cells(1, 1) = dsname + 詳細(xì)資料 for k = 0 to dgv.columns.count - 1 mysheet.cells(2, k + 1).value = dgv.columns(k).headertext mysheet.c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《食品冷加工與設(shè)備》課件
- 《浙江水專土木系》課件
- 《抗心律失常藥》課件
- 《質(zhì)膜及其表面結(jié)構(gòu)》課件
- 游戲業(yè)新員工訓(xùn)練模板
- 聯(lián)誼會申請書
- 如何找到近三年的參考文獻(xiàn)
- 2024-2025人教版初中七下數(shù)學(xué)湖北專版9.2.2第1課時(shí)-由圖形的平移判斷點(diǎn)的坐標(biāo)變化【課件】
- 抵押貸款申請書
- 外語學(xué)術(shù)研究應(yīng)關(guān)注應(yīng)用
- 00015-英語二自學(xué)教程-unit3
- 前言 馬克思主義中國化時(shí)代化的歷史進(jìn)程與理論成果
- 淺談第三方物流的倉儲管理
- 第二章共混改性基本原理
- 乳腺專業(yè)知識課件
- 碳納米管及其應(yīng)用課件
- 人教版九年級化學(xué)全一冊第八單元集體備課教學(xué)課件PPT
- 醫(yī)院各委員會職責(zé)制度
- 塔吊附墻及頂升安全技術(shù)交底
- 服飾品設(shè)計(jì)PPT完整全套教學(xué)課件
- 安捷倫N9020A頻譜儀操作說明
評論
0/150
提交評論