自行車租售管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)--通信畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(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、<p><b>  畢業(yè)設(shè)計(jì)</b></p><p>  自行車租售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  系 部: 電子信息與控制工程系 </p><p>  專業(yè)名稱: 通信技術(shù) </p><p>  班 級(jí):

2、 </p><p>  自行車租售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著科技的迅速發(fā)展,各種管理系統(tǒng)已應(yīng)用到社會(huì)的各個(gè)領(lǐng)域。各個(gè)大小企業(yè)無(wú)論規(guī)模如何,都充分意識(shí)到傳統(tǒng)的手工管理模式已經(jīng)逐漸不能適應(yīng)時(shí)代的發(fā)展,為了更好的發(fā)展,紛紛開發(fā)適合自己的管理系統(tǒng)。</p>

3、<p>  通過(guò)自行車租車行管理系統(tǒng)這個(gè)平臺(tái),可以實(shí)現(xiàn)租車行管理的信息化、網(wǎng)絡(luò)化、系統(tǒng)化、規(guī)范化,使工作人員從繁雜的數(shù)據(jù)查詢和統(tǒng)計(jì)中解脫出來(lái),減少工作量。系統(tǒng)的主要功能包括:車輛類型管理、租車費(fèi)用管理、車輛管理、客戶租車管理、售車管理、租車查詢等。</p><p>  本系統(tǒng)前臺(tái)主要使用C++作為開發(fā)語(yǔ)言,后臺(tái)使用SqlServer作為數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)環(huán)境是VC6.0,基于vc的自行車租售系統(tǒng)。

4、</p><p>  關(guān)鍵詞:租車行,C++,SQLSERVER2000</p><p><b>  目 錄</b></p><p><b>  1章 前 言4</b></p><p><b>  1.1課題背景4</b></p><p>  1

5、.1.1目前我國(guó)自行車租售系統(tǒng)的現(xiàn)狀4</p><p>  1.1.2自行車租售系統(tǒng)建設(shè)的好處5</p><p>  1.1.3開發(fā)管理信息系統(tǒng)的幾點(diǎn)建議5</p><p>  1.2相關(guān)技術(shù)介紹5</p><p>  1.2.1結(jié)構(gòu)化生命周期法簡(jiǎn)介5</p><p>  1.2.2開發(fā)技術(shù)——快速原型法簡(jiǎn)介

6、7</p><p>  1.2.3、ADO的背景知識(shí)7</p><p>  1.2.4本系統(tǒng)開發(fā)方法的選擇7</p><p><b>  2 系統(tǒng)分析8</b></p><p>  2.1可行性研究8</p><p>  2.1.1經(jīng)濟(jì)可行性8</p><p>

7、;  2.1.2技術(shù)可行性8</p><p>  2.1.3操作可行性9</p><p>  2.2、系統(tǒng)的詳細(xì)調(diào)查9</p><p>  2.2.1系統(tǒng)詳細(xì)設(shè)計(jì)原理9</p><p>  2.2.2自行車租售系統(tǒng)的設(shè)計(jì)原理和應(yīng)用10</p><p>  3 系統(tǒng)需求分析11</p><

8、;p>  3.1 任務(wù)概述11</p><p>  3.2 需求分析11</p><p>  3.3 功能分析11</p><p>  3.4性能分析11</p><p>  3.5安全管理分析12</p><p><b>  4 系統(tǒng)設(shè)計(jì)13</b></p>&l

9、t;p>  4.1 概要設(shè)計(jì)13</p><p>  4.2詳細(xì)設(shè)計(jì)13</p><p>  4.2.1 開發(fā)環(huán)境13</p><p>  4.2.2 系統(tǒng)功能圖13</p><p>  4.2.3數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)14</p><p>  4.3數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)15</p><p&

10、gt;  4.3.1 數(shù)據(jù)流圖16</p><p>  4.3.2在本系統(tǒng)中使用ADO的過(guò)程及詳解添加ADO數(shù)據(jù)源17</p><p>  5 程序的詳細(xì)設(shè)計(jì)19</p><p>  5.1程序設(shè)計(jì)19</p><p>  5.2程序流程19</p><p>  5.2.1 連接數(shù)據(jù)庫(kù)21</p>

11、;<p>  5.2.2 登陸系統(tǒng)22</p><p>  5.2.3 主界面24</p><p>  5.3 模塊設(shè)計(jì)30</p><p>  5.3.1 系統(tǒng)管理模塊30</p><p>  5.3.2 租車信息管理模塊32</p><p>  5.3.3 車輛信息模塊36</p&g

12、t;<p>  5.3.3 事故信息管理模塊37</p><p>  5.3.4 售車信息管理模塊38</p><p>  第6章 結(jié)論41</p><p>  6.1 關(guān)鍵技術(shù)41</p><p>  6.2 軟件測(cè)試41</p><p><b>  6.3 總結(jié)41</b

13、></p><p><b>  謝 辭42</b></p><p><b>  參考文獻(xiàn)43</b></p><p>  自行車租售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  1 前 言</b></p><p><b>  1.

14、1課題背景</b></p><p>  計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,給信息時(shí)代的人們帶來(lái)了很大的方便。如今在Internet上,隨處都可以看到種類繁多的信息管理系統(tǒng),比如,企業(yè)辦公化自動(dòng)管理系統(tǒng),電子商務(wù)系統(tǒng),企業(yè)教務(wù)管理系統(tǒng)等等。隨著信息技術(shù)的日益發(fā)展已深入到社會(huì)的各個(gè)角落,各個(gè)大的企業(yè),都充分意識(shí)到傳統(tǒng)的手工管理模式已經(jīng)逐漸不能適應(yīng)時(shí)代的發(fā)展,為了更好的發(fā)展,紛紛開發(fā)適合自己的管理系統(tǒng)。不管大企業(yè)。各種

15、類型的小企業(yè)也是如此,自行車租車行的老板也深深意思到這一點(diǎn),以前管理大多為手工管理,效率低、易出錯(cuò)、手續(xù)繁瑣,而且耗費(fèi)大量的人力,物力,財(cái)力。他們希望有一個(gè)適合自己的管理系統(tǒng),能夠?qū)崿F(xiàn)車輛管理,客戶管理,租車還車管理,租車查詢等功能。通過(guò)此系統(tǒng),店老板可以對(duì)自行車租車行的各項(xiàng)情況實(shí)行電腦化管理,這樣可以提高工作效率,也使得自行車租車行管理所需的各項(xiàng)信息能方便快速進(jìn)行錄入,查詢,刪除和更新,對(duì)相應(yīng)關(guān)鍵數(shù)據(jù)也能夠方便的統(tǒng)計(jì)結(jié)果。 </

16、p><p>  1.1.1目前我國(guó)自行車租售系統(tǒng)的現(xiàn)狀</p><p>  由于種種原因,我國(guó)的信息資源建設(shè)水平遠(yuǎn)遠(yuǎn)落后于信息基礎(chǔ)設(shè)施的建設(shè)的水平。長(zhǎng)期以來(lái),我國(guó)信息資源的開發(fā)管理未能與信息資源的增長(zhǎng)同步進(jìn)行。我國(guó)有豐富的原始信息資源,但在此基礎(chǔ)上再生的二次信息系統(tǒng)和數(shù)據(jù)庫(kù)產(chǎn)業(yè)的規(guī)模和市場(chǎng)占有率、使用率相當(dāng)?shù)?,大量的有價(jià)值的信息未能進(jìn)一步加工成商品使其增值。我國(guó)的計(jì)算機(jī)應(yīng)用要比西方國(guó)家落后十幾

17、年,管理信息系統(tǒng)的開發(fā)應(yīng)用是從1973年開始的,83年以后才開始了大量的實(shí)際的開發(fā)和研究工作。因此,信息資源的開發(fā)和利用已被確立為國(guó)民經(jīng)濟(jì)信息的核心內(nèi)容,信息數(shù)字化,傳輸?shù)木W(wǎng)絡(luò)化是縮小發(fā)展中國(guó)家與發(fā)達(dá)國(guó)家差距的捷徑,值世界信息化浪潮正以不可阻擋之勢(shì)席卷全球時(shí),我國(guó)要迎頭趕上,就必須利用現(xiàn)有的信息基礎(chǔ)設(shè)施,重點(diǎn)開發(fā)和推廣應(yīng)用于各類科技經(jīng)濟(jì)等數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)資源服務(wù)系統(tǒng),以便取得巨大的社會(huì)效益和經(jīng)濟(jì)效益。</p><p>

18、;  由于管理在社會(huì)大生產(chǎn)中占用重要地位,其計(jì)算機(jī)化在發(fā)達(dá)國(guó)家已達(dá)到95%以上,而我國(guó)在全國(guó)范圍內(nèi)推廣計(jì)算機(jī)在管理中的應(yīng)用,是在80年代初開始的。起步雖晚,但發(fā)展快。特別是微型計(jì)算機(jī)的出現(xiàn)和普及,為信息處理提供了物美價(jià)廉的手段,對(duì)于推動(dòng)我國(guó)管理信息處理現(xiàn)代化起到了重要作用。</p><p>  1.1.2自行車租售系統(tǒng)建設(shè)的好處</p><p>  長(zhǎng)久以來(lái),自行車租車行的管理工作大多數(shù)都

19、采用的是傳統(tǒng)的手工方式來(lái)記錄相關(guān)信息,這種管理方式存在很多缺點(diǎn),比如說(shuō),客戶管理,車輛信息的錄入,查詢,更新,分析都要完全依賴管理人員的手工記錄和人工分析。對(duì)于小規(guī)模自行車租車行來(lái)說(shuō)還勉強(qiáng)可以接受,但對(duì)于規(guī)模大一點(diǎn)的自行車租車行來(lái)說(shuō),人工記錄是相當(dāng)麻煩的。為滿足企業(yè)發(fā)展需求,決定采用各種編程語(yǔ)言VC++6.0開發(fā)了基于C/S架構(gòu)的自行車租車行管理系統(tǒng),自行車租車行管理系統(tǒng)是涉及信息科學(xué)、數(shù)據(jù)計(jì)算和計(jì)算機(jī)技術(shù)的復(fù)雜的人機(jī)交互系統(tǒng)。通過(guò)這些

20、系統(tǒng),可以對(duì)自行車租車行和管理進(jìn)行智能化管理,有效地記錄并查詢各種車輛信息以及租賃等情況,為自行車租車行的管理提供了諸多方便。</p><p>  1.1.3開發(fā)管理信息系統(tǒng)的幾點(diǎn)建議</p><p>  在項(xiàng)目的開始是需求調(diào)研,并且走訪了一些小型的自行車租車行,經(jīng)過(guò)一系列的調(diào)查與談話中發(fā)現(xiàn),現(xiàn)行的自行車租車行管理工作還是存在著很多不足之處,手工記錄的方式不易保存,容易丟失,同樣也不利于數(shù)

21、據(jù)的查詢和統(tǒng)計(jì)分析。根據(jù)自行車租車行實(shí)體店的實(shí)際情況及調(diào)查結(jié)果,發(fā)現(xiàn)實(shí)現(xiàn)自行車租車行管理的網(wǎng)絡(luò)化、信息化是十分有必要的,因此設(shè)計(jì)了本套自行車租車行管理系統(tǒng)。</p><p><b>  1.2相關(guān)技術(shù)介紹</b></p><p>  1.2.1結(jié)構(gòu)化生命周期法簡(jiǎn)介</p><p>  結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法,其基本思想

22、是把整個(gè)系統(tǒng)開發(fā)過(guò)程分成若干個(gè)階段,每個(gè)階段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個(gè)或多個(gè)任務(wù),形成符合給定規(guī)范的產(chǎn)品。</p><p>  采用結(jié)構(gòu)化生命周期法來(lái)開發(fā)管理信息系統(tǒng)時(shí),應(yīng)遵循的主要原則:</p><p> ?。?)用戶參與的原則</p><p>  (2)“先邏輯后物理”的原則</p><p> ?。?

23、)“自頂向下”的原則</p><p> ?。?)工作成果描述(主要指文檔)標(biāo)準(zhǔn)化的原則</p><p>  其具體開發(fā)步驟可分為以下四步:</p><p><b>  a系統(tǒng)規(guī)劃</b></p><p><b>  b系統(tǒng)開發(fā)</b></p><p><b>  c

24、系統(tǒng)的運(yùn)行及維護(hù)</b></p><p><b>  d系統(tǒng)評(píng)價(jià) </b></p><p>  其中系統(tǒng)開發(fā)又分為以下四個(gè)步驟:</p><p><b>  (a)系統(tǒng)分析</b></p><p><b>  .系統(tǒng)初步調(diào)查</b></p><p

25、><b>  .系統(tǒng)可行性研究</b></p><p>  .現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查</p><p>  .新系統(tǒng)邏輯方案的提出</p><p><b>  (b)系統(tǒng)設(shè)計(jì)</b></p><p><b>  .系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</b></p><p>

26、;<b>  系統(tǒng)總體功能設(shè)計(jì)</b></p><p>  .系統(tǒng)總體物理結(jié)構(gòu)設(shè)計(jì)</p><p><b>  系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  .代碼設(shè)計(jì)</b></p>&l

27、t;p><b>  .輸入輸出設(shè)計(jì)</b></p><p><b>  (c)系統(tǒng)實(shí)施</b></p><p><b>  .程序設(shè)計(jì)</b></p><p><b>  系統(tǒng)測(cè)試</b></p><p>  1.2.2開發(fā)技術(shù)——快速原型法簡(jiǎn)介&l

28、t;/p><p>  快速原型法是80年代發(fā)展起來(lái)的,旨在縮短開發(fā)周期,提高開發(fā)效率和用戶對(duì)系統(tǒng)的滿意程度。其基本思想是在系統(tǒng)開發(fā)的初期,盡快構(gòu)造出系統(tǒng)的原型,使用戶能及早地運(yùn)行這個(gè)系統(tǒng)原型,通過(guò)使用它、熟悉它,受到啟發(fā)并取得經(jīng)驗(yàn),然后對(duì)系統(tǒng)的目標(biāo)和功能提出更精確、具體的要求,研制人員據(jù)此逐漸修改和完善原型,使它滿足用戶的需求,最后完成系統(tǒng)的開發(fā)。該方法大大提高了系統(tǒng)開發(fā)效率,彌補(bǔ)了結(jié)構(gòu)化生命周期法來(lái)開發(fā)的時(shí)間長(zhǎng)的缺

29、陷。</p><p>  通常采用原型法需要以下四個(gè)階段:</p><p> ?。?)、明確用戶的基本要求</p><p> ?。?)、研制系統(tǒng)的原型</p><p> ?。?)、使用、評(píng)價(jià)系統(tǒng)原型</p><p> ?。?)、修改和完善原型</p><p>  1.2.3、ADO的背景知識(shí)&l

30、t;/p><p>  Microsoft ActiveX Data Objects (ADO) 使得客戶端應(yīng)用程序能夠通過(guò)任何 OLE.DB 提供者來(lái)訪問(wèn)和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。 </p><p>  ADO 使您能夠編寫應(yīng)用程序以通過(guò) OLE.DB 提供者訪問(wèn)和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。ADO 最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。ADO 支持建立客戶端/服務(wù)器和基于

31、Web 的應(yīng)用程序的關(guān)鍵功能。 </p><p>  ADO 的另一個(gè)功能是“遠(yuǎn)程數(shù)據(jù)訪問(wèn)”(RDS),能夠通過(guò)一個(gè)來(lái)回的傳輸將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或 Web 頁(yè)中,然后在客戶端對(duì)數(shù)據(jù)進(jìn)行操作,最后將更新數(shù)據(jù)返回服務(wù)器。RDS 先前發(fā)布的版本是 Microsoft Remote Data Service 1.5。RDS 已與 ADO 編程模塊合并以簡(jiǎn)化客戶端數(shù)據(jù)的遠(yuǎn)程調(diào)用。</p>&l

32、t;p>  1.2.4本系統(tǒng)開發(fā)方法的選擇</p><p>  基于以上開發(fā)方法的優(yōu)劣和本系統(tǒng)的實(shí)際情況,本系統(tǒng)總體上采用結(jié)構(gòu)化生命周期法進(jìn)行系統(tǒng)規(guī)則、系統(tǒng)分析和系統(tǒng)設(shè)計(jì),但在系統(tǒng)實(shí)施階段采用原型法。</p><p><b>  2 系統(tǒng)分析</b></p><p>  系統(tǒng)分析,就是在管理信息系統(tǒng)開發(fā)的生命周期中系統(tǒng)分析階段的各項(xiàng)活動(dòng)

33、和方法。它的主要目標(biāo)是在系統(tǒng)規(guī)劃所定的某個(gè)開發(fā)項(xiàng)目范圍內(nèi)明確系統(tǒng)開發(fā)的目標(biāo)和用戶的信息需求,提出系統(tǒng)的邏輯方案。系統(tǒng)“邏輯分析在整個(gè)系統(tǒng)開發(fā)過(guò)程中,是要解決“做什么”的問(wèn)題,把要解決哪些問(wèn)題、要滿足用戶哪些具體的信息需求調(diào)查、分析清楚,從邏輯上或從功能需求上提出系統(tǒng)的方案,即模型”。</p><p><b>  2.1可行性研究</b></p><p>  2.1.1

34、經(jīng)濟(jì)可行性</p><p>  目前有許多自行車信息的管理,還是完全采用純?nèi)斯し绞酵瓿蓸I(yè)務(wù),對(duì)數(shù)據(jù)進(jìn)行綜合分析等,因此耗用工時(shí)較多,且效率低下。而當(dāng)采用計(jì)算機(jī)進(jìn)行集中管理時(shí),不但可以節(jié)省大量的人力物力,而且效率要比手工高得多,還可以讓人力資源得到充分的利用。由此可見(jiàn),開發(fā)此系統(tǒng)在經(jīng)濟(jì)上的是完全可行的。</p><p>  2.1.2技術(shù)可行性</p><p><

35、;b>  開發(fā)軟件可行性</b></p><p>  從目前市場(chǎng)上數(shù)據(jù)庫(kù)開發(fā)、管理軟件來(lái)看,對(duì)于比較簡(jiǎn)單的中小型數(shù)據(jù)庫(kù),微軟公司的Microsoft SQLServer2000是實(shí)際應(yīng)用中較為成功是一種解決方案。它是數(shù)據(jù)庫(kù)的優(yōu)秀軟件,是面向?qū)ο蟮目梢暬幊?,同時(shí)它提高了多庫(kù)操作命令和函數(shù),具有很強(qiáng)的數(shù)據(jù)處理能力。包括數(shù)據(jù)存儲(chǔ)、分類、匯總、檢索等。</p><p>  同

36、時(shí)應(yīng)用Visual C++ 6.0的技術(shù)開發(fā)管理信息系統(tǒng),可以得心應(yīng)手,事半功倍,它為用戶提供了Windows所一貫堅(jiān)持的非常友好、操作簡(jiǎn)單的用戶界面、完善而強(qiáng)大的數(shù)據(jù)操作功能,通過(guò)Visual C++ 6.0與SQL語(yǔ)句的結(jié)合對(duì)數(shù)據(jù)庫(kù)進(jìn)行更為復(fù)雜的操作。</p><p>  結(jié)合本項(xiàng)目實(shí)際,經(jīng)系統(tǒng)分析,可以設(shè)計(jì)出符合實(shí)際需求、易于理解、易于操作、易于維護(hù)的數(shù)據(jù)庫(kù)和操作系統(tǒng)。對(duì)于Visual C++ 6.0 來(lái)說(shuō)

37、,對(duì)數(shù)量較少的表和其間關(guān)系進(jìn)行比較簡(jiǎn)單的操作正是其擅長(zhǎng)的功能,無(wú)論是查詢、統(tǒng)計(jì),都能順利完成。因此,開發(fā)實(shí)施本系統(tǒng),從軟件的角度看,是可行的。</p><p><b>  開發(fā)的硬件的可行性</b></p><p>  開發(fā)本系統(tǒng)所使用的軟件對(duì)于計(jì)算機(jī)硬件有一定的要求,Visual C++ 6.0 對(duì)計(jì)算機(jī)的內(nèi)存、外存(主要是硬盤的容量)都有要求,這樣才能是系統(tǒng)正常運(yùn)

38、行,基本要求是:</p><p>  (1)設(shè)計(jì)環(huán)境為Microsoft Windows 95或更高版本;</p><p>  (2)應(yīng)用程序要求8MBRAM。</p><p>  從目前市場(chǎng)上流行是硬件水平來(lái)看,這種要求水平對(duì)企業(yè)而言,是完全可以達(dá)到的。所以在硬件方面,本系統(tǒng)也是可行的。</p><p>  2.1.3操作可行性</p

39、><p>  Windows 友好的用戶界面和本系統(tǒng)良好的安全設(shè)置,可以使其內(nèi)部員工在系統(tǒng)實(shí)施人員的指導(dǎo)幫助下很快掌握系統(tǒng)的使用方法。</p><p>  2.2、系統(tǒng)的詳細(xì)調(diào)查</p><p>  2.2.1系統(tǒng)詳細(xì)設(shè)計(jì)原理</p><p>  系統(tǒng)的詳細(xì)調(diào)查目標(biāo)是在可行性分析的基礎(chǔ)上進(jìn)一步對(duì)原有系統(tǒng)進(jìn)行全面、深入的調(diào)查和分析,弄清原有管理信息

40、系統(tǒng)的運(yùn)行狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),找出要解決問(wèn)題的實(shí)質(zhì),確保新系統(tǒng)比原系統(tǒng)更加有效、可靠。具體內(nèi)容包括:管理業(yè)務(wù)狀況的調(diào)查分析、數(shù)據(jù)流程的調(diào)查分析。</p><p>  系統(tǒng)調(diào)查可以通過(guò)發(fā)表征求意見(jiàn)、座談、訪問(wèn)參觀、參加業(yè)務(wù)實(shí)踐等方法,自上而下的逐步細(xì)化了解。 </p><p>  通過(guò)對(duì)人員的需求調(diào)查得知,以前的車輛的管理辦法,工作繁瑣,工作量大,效率低。因而,建立一套管理信息系統(tǒng)勢(shì)在必行

41、。根據(jù)需求不同大體上可分為如下幾個(gè)方面:  (1) 系統(tǒng)要求:可以實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)、工作人員登陸、權(quán)限的限制等基本操作。 (2) 車輛檔案管理的要求:可以實(shí)現(xiàn)車輛信息的添加、修改、刪除、查詢操作。 (3) 租車信息管理的要求: 可以實(shí)現(xiàn)租車信息的添加、修改、刪除、查詢操作。 (4) 售車管理的要求: 可以實(shí)現(xiàn)車輛出售信息的添加、修改、刪除、查詢操作。 (5) 車損管理的要求: 可以實(shí)現(xiàn)車損信息的添加、修改、刪除、查詢操

42、作。</p><p> ?。?)對(duì)數(shù)據(jù)的安全性、完整性的要求:要保證每個(gè)記錄必須完整,不能被他人非法竊去。 本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流程圖和數(shù)據(jù)字典為主要描述工具,以信息系統(tǒng)中應(yīng)有的數(shù)據(jù)流程和數(shù)據(jù)結(jié)構(gòu)來(lái)描述系統(tǒng)。</p><p>  2.2.2自行車租售系統(tǒng)的設(shè)計(jì)原理和應(yīng)用</p><p>  為了讓系統(tǒng)能更好更快的進(jìn)行,我們制訂了如下的設(shè)計(jì)思想和

43、應(yīng)用性能:</p><p>  系統(tǒng)應(yīng)符合畢業(yè)設(shè)計(jì)課題管理的規(guī)定,滿足日常管理的工作需要,并達(dá)到操作過(guò)程中的直觀, 方便,實(shí)用,安全等要求;</p><p>  系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于為參與開發(fā)的技術(shù)維護(hù)員進(jìn)行維護(hù),補(bǔ)充;</p><p>  系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加,刪除,修改,等操作。&

44、lt;/p><p>  系統(tǒng)應(yīng)具備分布式,要能滿足訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)。</p><p>  系統(tǒng)應(yīng)能基本上滿足本企業(yè)的內(nèi)部管理功能,并且在使用管理信息中,實(shí)現(xiàn)最大化的信息收集和處理,分析功能。</p><p>  系統(tǒng)要保證安全性,對(duì)不同用戶要做到權(quán)限的不同。</p><p><b>  3 系統(tǒng)需求分析</b></p&

45、gt;<p><b>  3.1 任務(wù)概述</b></p><p>  建立一個(gè)數(shù)據(jù)庫(kù),用來(lái)存儲(chǔ)基本信息,車輛檔案信息和租車信息數(shù)據(jù),售車信息,事故信息等。將這些數(shù)據(jù)登記入數(shù)據(jù)庫(kù)。本項(xiàng)目的任務(wù)是能對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行一系列的操作管理。</p><p><b>  3.2 需求分析</b></p><p>  

46、此系統(tǒng)可有效應(yīng)用于車輛管理單位,方便對(duì)車輛管理,可以有效提高工作效率和減輕勞動(dòng)強(qiáng)度;提高信息處理速度和準(zhǔn)確性;為業(yè)務(wù)、管理提供更方便的服務(wù)項(xiàng)目。</p><p><b>  3.3 功能分析</b></p><p>  管理信息系統(tǒng)主要功能是準(zhǔn)備和提供統(tǒng)一格式的信息,使各種統(tǒng)計(jì)工作簡(jiǎn)化,使信息成本最低;及時(shí)全面地提供不同要求的、不同細(xì)度的信息,以期分析解釋現(xiàn)象最快,及

47、時(shí)產(chǎn)生正確的控制;全面系統(tǒng)地保存大量的信息,并能很快地實(shí)現(xiàn)查詢、修改、刪除等功能,為決策提出信息支持。自行車租售系統(tǒng)包括三個(gè)模塊:系統(tǒng)管理、車輛檔案管理、租車信息管理、售車信息管理、事故管理。</p><p>  系統(tǒng)管理:主要功能為實(shí)現(xiàn)系統(tǒng)初始化、數(shù)據(jù)庫(kù)連接參數(shù)的設(shè)置、系統(tǒng)用戶登陸等操作。</p><p>  測(cè)試管理的要求:可以實(shí)現(xiàn)對(duì)測(cè)試條目的添加、修改、刪除、瀏覽操作。 查詢

48、管理的要求: 可以按指定要求進(jìn)行查詢。 </p><p><b>  3.4性能分析</b></p><p>  本系統(tǒng)結(jié)構(gòu)設(shè)計(jì)合理,功能齊全,信息指標(biāo)豐富、規(guī)范;采用模塊化設(shè)計(jì)、結(jié)構(gòu)合理、 操作簡(jiǎn)單,具有友好的人機(jī)界面和靈活的系統(tǒng)可維護(hù)性;有優(yōu)越的數(shù)據(jù)共享性,可以使用戶 充分的利用歷史數(shù)據(jù), 減少數(shù)據(jù)的重復(fù)錄入和工作量; 方便快捷有效的完成賓館管理系統(tǒng)的 各項(xiàng)工

49、作,錄入數(shù)據(jù)合法性的校驗(yàn)程度高,數(shù)據(jù)查詢速度快;有廣泛的網(wǎng)絡(luò)選擇性,可以形 成客戶端/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)。主要表現(xiàn)在以下幾點(diǎn):</p><p>  全面構(gòu)建數(shù)字化辦公環(huán)境,實(shí)現(xiàn)無(wú)紙化辦公。 </p><p>  具有良好的可移植性,可針對(duì)不同的用戶需求定制系統(tǒng)部分功能。</p><p>  系統(tǒng)權(quán)限與安全的合理分配,可根據(jù)需要自行設(shè)置。 </p>

50、<p>  用戶界面友好,美觀, 易于操作。</p><p><b>  3.5安全管理分析</b></p><p>  安全管理造成數(shù)據(jù)庫(kù)系統(tǒng)不安全的因素很多,有系統(tǒng)本身的原因,也有人為的失誤或故意的未經(jīng)授權(quán)的竊取、破壞。安全管理已成為設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)的重要組成部分。數(shù)據(jù)庫(kù)系統(tǒng)的核心是數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),開發(fā)具有高安全性的DBMS是一項(xiàng)十分緊迫的任務(wù)

51、。多用戶系統(tǒng)的工作流程都是從用戶登陸模塊開始,對(duì)用戶的身份進(jìn)行認(rèn)證。身份認(rèn)證可以分為以下兩個(gè)過(guò)程: </p><p>  A、認(rèn)證用戶是否為有效的系統(tǒng)用戶;</p><p>  B、確認(rèn)用戶的類型。 本系統(tǒng)有二類用戶進(jìn)行操作,分別是管理員、操作員,管理員可以設(shè)置操作員及本身的權(quán)限,并可增刪用戶,操作員可以修改自己的登陸口令。 第一個(gè)過(guò)程決定用戶能否進(jìn)入系統(tǒng)。 第二個(gè)過(guò)程根據(jù)用戶的類型決定用

52、戶的操作權(quán)限從 而決定用戶的工作界面。所以本系統(tǒng)安全和保密工作應(yīng)該是可以保證的。 </p><p><b>  4 系統(tǒng)設(shè)計(jì)</b></p><p><b>  4.1 概要設(shè)計(jì)</b></p><p>  本次畢業(yè)設(shè)計(jì)的內(nèi)容就是設(shè)計(jì)出自行車租售系統(tǒng),在此基礎(chǔ)上實(shí)現(xiàn)系統(tǒng)模型各個(gè)子系統(tǒng)的基本功能。此系統(tǒng)用Microsoft

53、 SQL Server2000建立一個(gè)SQL Server2000數(shù)據(jù)庫(kù),用Visual C++來(lái)實(shí)現(xiàn)對(duì)其中數(shù)據(jù)的一系列操作,包括添加、查看、修改、錄入、刪除、查詢等等,通過(guò)Visual C++編程實(shí)現(xiàn)其中的優(yōu)化處理模塊。</p><p>  在使用界面上,用戶通過(guò)點(diǎn)擊按鈕選擇相應(yīng)的要進(jìn)行的操作,系統(tǒng)經(jīng)過(guò)對(duì)用戶輸入的有效判斷,如果輸入有效,根據(jù)輸入的消息進(jìn)行相應(yīng)的處理,最后把處理結(jié)果顯示到用戶界面。</p

54、><p><b>  4.2詳細(xì)設(shè)計(jì)</b></p><p>  4.2.1 開發(fā)環(huán)境</p><p>  本系統(tǒng)的開發(fā)開發(fā)環(huán)境是Windows Server 2003,Visual C++ 6.0,MS SQL Server 2003.</p><p>  4.2.2 系統(tǒng)功能圖</p><p> 

55、 在系統(tǒng)功能需求分析的基礎(chǔ)上,結(jié)合Visual C++程序編制的特點(diǎn),得到下圖所示的系統(tǒng)功能模塊圖。</p><p>  圖4-1 系統(tǒng)功能圖</p><p>  4.2.3數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)</p><p>  表4.1AccInfo表字段信息說(shuō)明</p><p>  表4.1CarInfo表字段信息說(shuō)明</p><p&

56、gt;  表4.1CarJCInfo表字段信息說(shuō)明</p><p>  表4.1DriverInfo表字段信息說(shuō)明</p><p>  表4.1PassInfo表字段信息說(shuō)明</p><p>  4.3數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)</p><p>  啟動(dòng)SQL2000后,屏幕出現(xiàn)“Microsoft SQL Server 2000”對(duì)話框,在對(duì)話框中選

57、擇不同的選項(xiàng)按鈕,可新建或打開數(shù)據(jù)庫(kù)。在此選擇“建立數(shù)據(jù)庫(kù)”,新建一個(gè)空的數(shù)據(jù)庫(kù),名字保存為CarMgr。在已有的數(shù)據(jù)庫(kù)中創(chuàng)建空表主要有三種方法:將數(shù)據(jù)直接輸入到空白的數(shù)據(jù)表中,當(dāng)保存新的數(shù)據(jù)時(shí),SQL Server 2000將分析數(shù)據(jù)并且自動(dòng)為每一字段指定適當(dāng)?shù)臄?shù)據(jù)類型及格式。使用“設(shè)計(jì)”視圖從無(wú)到有指定表的全部細(xì)節(jié)。使用表向?qū)?lái)選擇表的字段,這些字段可以從各樣預(yù)先定義好的表中選擇。此系統(tǒng)的數(shù)據(jù)庫(kù)使用“設(shè)計(jì)”視圖從無(wú)到有創(chuàng)建。<

58、/p><p>  再次數(shù)據(jù)庫(kù)中需要?jiǎng)?chuàng)建兩個(gè)表,分別存放用戶信息表、工作人員信息表、繳費(fèi)信息表、費(fèi)率信息表等。以創(chuàng)建用戶信息表為例,步驟如下:</p><p> ?。?)右擊“表”圖標(biāo),選擇新建表,將顯示一個(gè)空數(shù)據(jù)表的設(shè)計(jì)視圖。</p><p> ?。?)按照下圖所示定義表中的每一個(gè)字段。在“字段名稱”列中分別輸入;在“數(shù)據(jù)類型”列中選擇各字段的數(shù)據(jù)類型,當(dāng)光標(biāo)移動(dòng)到“數(shù)

59、據(jù)類型”列時(shí),光標(biāo)所在的格中將出現(xiàn)下拉按鈕,單擊按鈕將彈出下拉列表,其中列出了所有的數(shù)據(jù)類型(如圖所示),單擊選定所需要的數(shù)據(jù)類型;“說(shuō)明”列用于輸入對(duì)字段的說(shuō)明,可有可無(wú)。</p><p> ?。?)保存表。保存時(shí)輸入表的名稱“UserInfo”。</p><p>  (4)當(dāng)我們需要將該表設(shè)置為主鍵時(shí),該字段左邊的灰色字段選擇器上出現(xiàn)一個(gè)鑰匙圖案,表明主關(guān)鍵字已經(jīng)被選取。</p&

60、gt;<p>  此時(shí)用戶信息表就創(chuàng)建好了,同樣可以創(chuàng)建其他類型表。</p><p>  4.3.1 數(shù)據(jù)流圖</p><p>  下面用我們用數(shù)據(jù)流圖(DFD, Data Flow Diagram),也就是從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。如下圖所示: </p><p>  4.3.2在本系統(tǒng)中使用ADO的過(guò)

61、程及詳解添加ADO數(shù)據(jù)源</p><p>  本系統(tǒng)采用ADO來(lái)訪問(wèn)SQL數(shù)據(jù)庫(kù),這里充分應(yīng)用了C++類封裝的功能,根據(jù)本系統(tǒng)應(yīng)用的范圍,將訪問(wèn)數(shù)據(jù)庫(kù)的功能函數(shù)封裝在一個(gè)類CMyDatabase。</p><p>  正如前所述,ADO是訪問(wèn)數(shù)據(jù)庫(kù)的一個(gè)方法,它提供了不同的接口。ADO庫(kù)包含三個(gè)基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPt

62、r接口。 _ConnectionPtr接口返回一個(gè)記錄集或一個(gè)空指針。通常使用它來(lái)創(chuàng)建一個(gè)數(shù)據(jù)連接或執(zhí)行一條不返回任何結(jié)果的SQL語(yǔ)句,如一個(gè)存儲(chǔ)過(guò)程。使用_ConnectionPtr接口返回一個(gè)記錄集不是一個(gè)好的使用方法。對(duì)于要返回記錄的操作通常用_RecordserPtr來(lái)實(shí)現(xiàn)。而用_ConnectionPtr操作時(shí)要想得到記錄條數(shù)得遍歷所有記錄,而用_RecordserPtr時(shí)不需要。 _CommandPtr接口

63、返回一個(gè)記錄集。它提供了一種簡(jiǎn)單的方法來(lái)執(zhí)行返回記錄集的存儲(chǔ)過(guò)程和SQL語(yǔ)句。在使用_CommandPtr接口時(shí),你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用連接串。如果你只執(zhí)行一次或幾次數(shù)據(jù)訪問(wèn)操作,后者是比較好的選擇。但如果你要頻繁訪問(wèn)數(shù)據(jù)庫(kù),并要返回很多記錄集,那么,你應(yīng)該使用全局_ConnectionPtr接口創(chuàng)建一個(gè)數(shù)據(jù)連接,</p><p>  根據(jù)這些

64、,我們將數(shù)據(jù)庫(kù)的各種操作封裝到CMyDatabase類里。</p><p>  5 程序的詳細(xì)設(shè)計(jì)</p><p><b>  5.1程序設(shè)計(jì)</b></p><p>  該系統(tǒng)采用對(duì)話框和屬性頁(yè)的形式作為主界面,支持異地遠(yuǎn)程數(shù)據(jù)庫(kù)的讀取。系統(tǒng)運(yùn)行時(shí),用戶首先要連接到遠(yuǎn)程數(shù)據(jù)庫(kù),連接成功后,狀態(tài)欄會(huì)有相應(yīng)的提示,之后在整個(gè)系統(tǒng)的運(yùn)行過(guò)程中,系

65、統(tǒng)與數(shù)據(jù)庫(kù)始終保持這一個(gè)連接,并通過(guò)這一個(gè)連接來(lái)進(jìn)行各種SQL語(yǔ)句操作。整個(gè)系統(tǒng)中,主界面CManageSysDlg 類有一個(gè)對(duì)象m_db,這個(gè)就是與數(shù)據(jù)庫(kù)保存連接的數(shù)據(jù)庫(kù)對(duì)象。</p><p><b>  5.2程序流程</b></p><p><b>  圖5-1 流程圖</b></p><p>  5.2.1 連接數(shù)

66、據(jù)庫(kù)</p><p>  圖5-2 數(shù)據(jù)庫(kù)配置圖</p><p>  首先要對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接配置,輸入SQL數(shù)據(jù)庫(kù)地址,數(shù)據(jù)庫(kù)名稱,用戶名和密碼,連接成功于否都會(huì)在系統(tǒng)的左下角有提示。</p><p>  5.2.2 登陸系統(tǒng)</p><p><b>  圖5-3 用戶登陸</b></p><p>

67、;  如果與數(shù)據(jù)庫(kù)連接成功后,會(huì)在系統(tǒng)左下角提示,然后進(jìn)行用戶的登陸系統(tǒng),輸入用戶名字和密碼登陸系統(tǒng)。主要代碼:</p><p>  void CLoginDlg::OnLogin() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler c

68、ode here</p><p>  ASSERT(m_pManagementSysDlg!=NULL);</p><p>  UpdateData(TRUE);</p><p>  CCommon::Trim(m_sIP); //清除變量空白符</p><p>  CCommon::Trim(m_sDbName);</p>&

69、lt;p>  CCommon::Trim(m_sUser);</p><p>  CCommon::Trim(m_sPass);</p><p>  if(m_sIP.GetLength() == 0</p><p>  ||m_sDbName.GetLength() == 0</p><p>  ||m_sUser.GetLength

70、() == 0</p><p>  ||m_sPass.GetLength() == 0)</p><p>  {//必須輸入完整的信息,否則返回</p><p>  AfxMessageBox(_T("請(qǐng)輸入完整的信息"));</p><p><b>  return ;</b></p>

71、<p><b>  }</b></p><p>  CString szLog;</p><p><b>  //開始嘗試連接</b></p><p>  CMyDatabase * pDB = m_pManagementSysDlg->GetDBPointer();</p><p&

72、gt;  if(pDB->Open(m_sIP,m_sDbName,m_sUser,m_sPass))</p><p>  {//login success 登陸成功</p><p>  m_pManagementSysDlg->SetDBServerIP(m_sIP); //保存數(shù)據(jù)庫(kù)IP</p><p>  m_pManagementSysDlg-

73、>SetDBName(m_sDbName); //保存數(shù)據(jù)庫(kù)名字</p><p>  m_pManagementSysDlg->SetDBUser(m_sUser); //保存用戶名</p><p>  m_pManagementSysDlg->SetDBPass(m_sPass); //保存密碼</p><p>  m_pManagementSy

74、sDlg->SetDBConnect(TRUE); //登陸成功,改標(biāo)志位</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  m_pManagementSysDlg->S

75、etDBConnect(FALSE); //設(shè)置數(shù)據(jù)庫(kù)登陸狀態(tài)</p><p><b>  }</b></p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p>  void CLoginDlg::SetParent(CManagementSys

76、Dlg *pParent)</p><p><b>  { //設(shè)置父指針</b></p><p>  m_pManagementSysDlg = pParent;</p><p><b>  }</b></p><p>  5.2.3 主界面</p><p><b&

77、gt;  圖5-4 主界面</b></p><p>  登陸成功后,系統(tǒng)最下方狀態(tài)欄會(huì)提示。這時(shí)候可以進(jìn)行用戶權(quán)限的不同相應(yīng)的操作。</p><p><b>  主要代碼:</b></p><p>  HCURSOR CManagementSysDlg::OnQueryDragIcon()</p><p>&

78、lt;b>  {</b></p><p>  return (HCURSOR) m_hIcon;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetPanel(int nID, CString str)</p><p>  {//給狀態(tài)欄的

79、第 nID個(gè)格賦值str</p><p>  m_Status.SetPaneText(nID,str);</p><p><b>  }</b></p><p>  CMyDatabase * CManagementSysDlg::GetDBPointer()</p><p>  {//得到數(shù)據(jù)庫(kù)指針</p>

80、;<p>  return &m_sDB;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetDBServerIP(CString &str)</p><p>  {//設(shè)置數(shù)據(jù)庫(kù)IP</p><p>  m_sDbIP=str

81、;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetDBName(CString &str)</p><p>  {//設(shè)置數(shù)據(jù)庫(kù)名字</p><p>  m_sDbName=str;</p><p><b>  

82、}</b></p><p>  void CManagementSysDlg::SetDBUser(CString &str)</p><p>  {//設(shè)置數(shù)據(jù)庫(kù)用戶名</p><p>  m_sDbUser=str;</p><p><b>  }</b></p><p>

83、  void CManagementSysDlg::SetDBPass(CString &str)</p><p>  {//設(shè)置數(shù)據(jù)庫(kù)密碼</p><p>  m_sDbPass=str;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetDBCo

84、nnect(BOOL flag)</p><p>  {//設(shè)數(shù)據(jù)庫(kù)連接狀態(tài)</p><p>  m_bConnected = flag;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetLogin(BOOL flag)</p><p&

85、gt;<b>  {//設(shè)登陸狀態(tài)</b></p><p>  m_bUserLogined = flag;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetUserSN(CString &str)</p><p><b

86、>  {//設(shè)置用戶名</b></p><p>  m_sUserSN = str;</p><p><b>  }</b></p><p>  void CManagementSysDlg::SetUserAuthor(CString &str)</p><p><b>  {//設(shè)

87、置用戶權(quán)限</b></p><p>  int i = atoi(str); //將字符串轉(zhuǎn)換為整型</p><p>  m_nUserAuthor = i;</p><p><b>  }</b></p><p>  void CManagementSysDlg::OnConnecttoolButton()

88、 </p><p>  {//連接工具條的響應(yīng)函數(shù)</p><p>  // TODO: Add your command handler code here</p><p>  if(m_bConnected)</p><p><b>  {//判斷是否連接</b></p><p>  AfxM

89、essageBox(_T("已經(jīng)與數(shù)據(jù)庫(kù)建立連接,請(qǐng)先斷開"));</p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  //建立連接</b></p><p>  CLoginDlg Log

90、inDlg;</p><p>  LoginDlg.SetParent(this); //設(shè)置對(duì)話框?qū)傩?lt;/p><p>  LoginDlg.DoModal();</p><p>  if(!m_bConnected)</p><p>  {//連接不成功,該BOOL值為FALSE</p><p>  SetPane

91、l(0,_T("連接數(shù)據(jù)庫(kù)錯(cuò)誤!"));</p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  {//連接成功, *** 開放 登陸退出 ID,并顯示

92、sheet*** ***</p><p>  //開放ID可考慮 全部開放,然后置換其他為FALSE</p><p>  SetPanel(0,_T("連接數(shù)據(jù)庫(kù)成功!"));</p><p>  //SetMenuState(CONNECT_MENU);</p><p><b>  }</b>&l

93、t;/p><p><b>  }</b></p><p>  void CManagementSysDlg::OnDiscontoolButton() </p><p>  {//斷開工具條響應(yīng)函數(shù),同斷開菜單,注釋見(jiàn)上面</p><p>  // TODO: Add your command handler code he

94、re</p><p>  if(!m_bConnected)</p><p><b>  {</b></p><p>  AfxMessageBox(_T("連接已經(jīng)斷開"));</p><p><b>  return ;</b></p><p><

95、;b>  }</b></p><p>  if(m_bUserLogined)</p><p><b>  {</b></p><p>  AfxMessageBox(_T("用戶已經(jīng)登陸系統(tǒng),請(qǐng)先退出"));</p><p><b>  return ;</b>

96、;</p><p><b>  }</b></p><p>  CMyDatabase * pDB = GetDBPointer();</p><p>  m_bConnected = FALSE;</p><p>  m_bUserLogined = FALSE;</p><p>  SetPa

97、nel(0,_T("與數(shù)據(jù)庫(kù)斷開"));</p><p>  //SetMenuState(NO_CONNECT_MENU);</p><p>  pDB->Close(); //關(guān)閉數(shù)據(jù)庫(kù)連接指針</p><p><b>  }</b></p><p>  void CMana

98、gementSysDlg::OnLogintoolButton() </p><p><b>  {</b></p><p>  if(!m_bConnected)</p><p><b>  {//判斷連接與否</b></p><p>  AfxMessageBox(_T("請(qǐng)先與數(shù)據(jù)庫(kù)

99、建立連接"));</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if(m_bUserLogined)</p><p><b>  {//判斷登陸與否</b></p><p> 

100、 AfxMessageBox(_T("用戶已經(jīng)登陸"));</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  CMyDatabase * pDB =GetDBPointer();</p><p>  CUserLog

101、inDlg UserLoginDlg;</p><p>  UserLoginDlg.SetParent(this);</p><p>  UserLoginDlg.DoModal(); //顯示登陸對(duì)話框</p><p>  if(!m_bUserLogined)</p><p><b>  {//登陸不成功</b>&

102、lt;/p><p>  SetPanel(1,"User Login Error"); //設(shè)置狀態(tài)欄</p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  else</b></p>

103、<p><b>  {</b></p><p>  CTime t = CTime::GetCurrentTime();</p><p>  CString szTime;</p><p>  szTime.Format("%d-%d-%d %d:%d:%d 登陸系統(tǒng)",</p><p>

104、;  t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute(),t.GetSecond());</p><p>  SetPanel(1,m_sUserSN);</p><p>  SetPanel(2,m_sUserName);</p><p>  SetPanel(3,szTime);</p

105、><p><b>  //設(shè)置屬性頁(yè)</b></p><p>  m_Sheet.AddPage(&m_CardPage); //</p><p>  m_Sheet.AddPage(&m_DriverPage);</p><p>  m_Sheet.AddPage(&m_CarJCPage);<

106、;/p><p>  m_Sheet.AddPage(&m_SGPage);</p><p>  m_Sheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);</p><p>  RECT rect;</p><p>  m_Sheet.GetWindowRect(&am

107、p;rect);</p><p>  int width = rect.right - rect.left;</p><p>  int height = rect.bottom - rect.top;</p><p>  m_Sheet.SetWindowPos(NULL, 1, 20, width, height, SWP_NOZORDER | SWP_NOA

108、CTIVATE);</p><p>  //SetMenuState(LOGIN_MENU);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void CManagementSysDlg::OnQuittoolButton() </p&g

109、t;<p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  CDialog::OnDestroy();</p><p>  CDialog::OnCancel();</p><p><b>  

110、}</b></p><p><b>  5.3 模塊設(shè)計(jì)</b></p><p>  5.3.1 系統(tǒng)管理模塊</p><p>  該模塊是系統(tǒng)進(jìn)行操作的前提,主要是系統(tǒng)登陸部分。這是用戶登錄時(shí)所必須要用到的,登陸之前需要驗(yàn)證用戶身份的合法性,故而需要用戶輸入程序,輸入用戶名及密碼來(lái)進(jìn)行身份驗(yàn)證。模塊流程圖如圖5-5所示。</

111、p><p>  圖5-5 系統(tǒng)登陸模塊圖</p><p>  該模塊主要輸入的參數(shù)包括:</p><p><b>  輸入項(xiàng)名稱:用戶名</b></p><p><b>  類型:字符串型</b></p><p><b>  輸入方式:手工輸入</b><

112、;/p><p>  數(shù)據(jù)來(lái)源:系統(tǒng)自帶的數(shù)據(jù)庫(kù)中的信息</p><p><b>  輸入項(xiàng)名稱:密碼</b></p><p><b>  類型:字符串型</b></p><p><b>  輸入方式:手工輸入</b></p><p>  數(shù)據(jù)來(lái)源:系統(tǒng)的數(shù)據(jù)

113、庫(kù)中的信息</p><p>  該模塊主要輸出參數(shù)包括:</p><p>  輸出項(xiàng):用戶名錯(cuò)誤輸出</p><p><b>  數(shù)據(jù)類型:字符串型</b></p><p>  輸出以信息對(duì)話框的形式輸出</p><p>  輸出內(nèi)容是用戶名錯(cuò)誤,請(qǐng)重新輸入</p><p>

114、;  輸出項(xiàng):密碼錯(cuò)誤輸出</p><p><b>  數(shù)據(jù)類型:字符串型</b></p><p>  輸出信息也是以信息對(duì)話框的形式輸出</p><p>  輸出內(nèi)容是密碼錯(cuò)誤,請(qǐng)重新輸入</p><p><b>  輸出項(xiàng):正確登陸</b></p><p><b&g

115、t;  數(shù)據(jù)類型:字符串型</b></p><p>  輸出內(nèi)容是根據(jù)用戶權(quán)限而得到的用戶界面的輸出</p><p>  5.3.2 租車信息管理模塊</p><p>  該模塊是對(duì)租車信息進(jìn)行管理,包括了對(duì)租車信息的添加、修改、刪除等操作。每個(gè)租車信息都有一個(gè)編號(hào),這個(gè)編號(hào)在數(shù)據(jù)庫(kù)中是唯一的,是識(shí)別用戶的唯一標(biāo)識(shí)。模塊流程圖如圖5-6所示。</p

116、><p>  圖5-6 租車信息管理模塊圖</p><p>  該模塊主要輸入的參數(shù)包括:</p><p>  輸入項(xiàng)名稱:租車信息</p><p><b>  類型:字符串型</b></p><p><b>  輸入方式:手工輸入</b></p><p>

117、;  該模塊主要輸出參數(shù)包括:</p><p>  輸出項(xiàng):根據(jù)處理的結(jié)果,返回處理結(jié)果提示</p><p><b>  數(shù)據(jù)類型:字符串型</b></p><p>  輸出以信息對(duì)話框的形式輸出</p><p><b>  主要代碼:</b></p><p>  void

118、CCarJCPage::OnButton1() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);</p><p>  CString szC

119、ombox,temp0,sql="select * from CarJCInfo where 1=1";</p><p>  GetDlgItemText(IDC_COMBO1,szCombox);</p><p>  if(m_sKey !="")</p><p><b>  {</b></p&g

120、t;<p>  if(szCombox =="自行車編號(hào)")</p><p><b>  {</b></p><p>  temp0.Format("and CarSN like ");</p><p><b>  }</b></p><p> 

121、 else if(szCombox =="型號(hào)")</p><p><b>  {</b></p><p>  temp0.Format("and CarStyle like ");</p><p><b>  }</b></p><p>  else if(

122、szCombox =="品牌")</p><p><b>  {</b></p><p>  temp0.Format("and CarID like ");</p><p><b>  }</b></p><p>  else if(szCombox ==&

123、quot;產(chǎn)地")</p><p><b>  {</b></p><p>  temp0.Format("and CarName like ");</p><p><b>  }</b></p><p>  temp0 += "'%";&l

124、t;/p><p>  temp0 += m_sKey;</p><p>  temp0 += "%'";</p><p>  sql += temp0;</p><p><b>  }</b></p><p>  CManagementSysDlg * p = (CMana

125、gementSysDlg *)(GetParent()->GetParent());</p><p>  CMyDatabase * pDB = ((CManagementSysDlg *)p)->GetDBPointer();</p><p>  ReadFromDB((void *)p,sql);</p><p>  UpdateData(FALSE

126、);</p><p><b>  }</b></p><p>  void CCarJCPage::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) </p><p><b>  {</b></p><p>  // TODO: Add your contr

127、ol notification handler code here</p><p>  NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</p><p>  if(pNMListView->iItem < 0)</p><p><b>  {</b></p><p

溫馨提示

  • 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ù)僅提供信息存儲(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)論