摘 要:本文介紹了在Visual Basic6.0環(huán)境下開發(fā)一款用于管理城市交通信息的應(yīng)用軟件,該軟件能實(shí)現(xiàn)對(duì)機(jī)動(dòng)車信息查詢,并能在查詢結(jié)果上實(shí)現(xiàn)增加、刪除、修改等信息的功能。并通過分析部分服務(wù)管理中心對(duì)自身信息的管理,創(chuàng)建了一套行之有效的管理方案。文中詳細(xì)介紹了交通管理中心管理系統(tǒng)的系統(tǒng)分析部分,包括系統(tǒng)需求分析、可行性分析、系統(tǒng)實(shí)現(xiàn)功能分析等;數(shù)據(jù)庫設(shè)計(jì)部分主要介紹了數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)表設(shè)計(jì)等;系統(tǒng)實(shí)現(xiàn)部分主要說明了系統(tǒng)功能設(shè)計(jì)和幾個(gè)主要模塊的算法及代碼設(shè)計(jì)。
關(guān)鍵詞:交通管理系統(tǒng);VB應(yīng)用;Access數(shù)據(jù)庫
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2013) 22-0000-02
一、緒論
本系統(tǒng)可以記錄交通車輛管理的各項(xiàng)信息,進(jìn)行數(shù)據(jù)信息的增加、刪除、更新及查詢,使信息一目了然。該管理系統(tǒng)通過密碼保護(hù),使此系統(tǒng)只有系統(tǒng)管理員可以進(jìn)行系統(tǒng)數(shù)據(jù)的增加、刪除、更新,安全有保障,利于管理,普通用戶可以不用進(jìn)行密碼驗(yàn)證就可以進(jìn)行數(shù)據(jù)信息的查詢。
(一)系統(tǒng)需求
通過研究,要求系統(tǒng)需要有以下功能:(1)考慮到操作人員的需要,要求有良好的人機(jī)界面;(2)由于該系統(tǒng)的使用對(duì)象不同,要求不但要有較方便的普通用戶進(jìn)行查詢的權(quán)限,還要有管理員進(jìn)行增加、刪除、更新、查詢的功能;(3)原始數(shù)據(jù)增加、更新簡(jiǎn)單方便,支持界面增加、更新;(4)方便的數(shù)據(jù)查詢,進(jìn)行精確查詢,支持多條件查詢;(5)刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性較好;
(二)本系統(tǒng)的功能
本系統(tǒng)主要可以實(shí)現(xiàn)以下的管理功能:信息查詢、信息顯示與增、刪、改。只讓管理員和普通用戶進(jìn)行操作。
(三)開發(fā)環(huán)境
本系統(tǒng)的設(shè)計(jì)是在Windows 2000中文版操作系統(tǒng)環(huán)境下,使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是系統(tǒng)中的重要支持技術(shù),在系統(tǒng)開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個(gè)重要的問題,目前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫時(shí),應(yīng)考慮數(shù)據(jù)庫應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下:
二、相關(guān)技術(shù)知識(shí)
(一)Visual Basic語言
Visual Basic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開發(fā)Windows環(huán)境下的種類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,而且程序開發(fā)人員不必具有C/C++編程基礎(chǔ)。在Visual Basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。
(二)事件驅(qū)動(dòng)編程機(jī)制
Visual Basic通過事件來執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊”(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。
(三)動(dòng)態(tài)數(shù)據(jù)交換(DDE)
利用動(dòng)態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。Visual Basic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。
(四)對(duì)象的鏈接與嵌入(OLE)
對(duì)象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看作是一個(gè)對(duì)象(object),將不同的對(duì)象鏈接(link)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對(duì)象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看作是一個(gè)對(duì)象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。
(五)動(dòng)態(tài)鏈接庫(DLL)
Visual Basic是一種高級(jí)程序設(shè)計(jì)語言,不具備低級(jí)語言的功能,對(duì)訪問機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過動(dòng)態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動(dòng)態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能。
(六)建立數(shù)據(jù)庫
數(shù)據(jù)庫采用了Microsoft推出的Access數(shù)據(jù)庫,這是微軟集成到Office中的一個(gè)桌面數(shù)據(jù)庫,能夠快速方便地和Office的其他套件綜合使用。由于Access具有顯著的簡(jiǎn)易性和有效性,大量的桌面數(shù)據(jù)庫系統(tǒng)都采用Access作為后臺(tái)數(shù)據(jù)庫。使用Access的好處還在于,如果你的系統(tǒng)擴(kuò)展到Client/Server模式的時(shí)候,可以使用Microsoft的數(shù)據(jù)庫服務(wù)器軟件SQL Server,此時(shí),程序只需要簡(jiǎn)單地修改一下鏈接(ADO的數(shù)據(jù)源)就可以,這樣,為程序的平滑擴(kuò)展提供了非常有力的條件。
三、軟件設(shè)計(jì)與實(shí)現(xiàn)
交通管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫應(yīng)用程序,由管理員、加盟用戶、以及查詢模塊等組成,以下幾部分組成:
(一)會(huì)員信息管理模塊
該模塊的主要任務(wù)對(duì)機(jī)動(dòng)車信息、駕校學(xué)員信息、問題車輛信息、安全法則、主要公交路線、長(zhǎng)途汽車站點(diǎn)信息的信息管理,管理員可以進(jìn)行增加、刪除、更新信息。
(二)加盟單位信息管理模塊
該模塊的功能是實(shí)現(xiàn)對(duì)加盟單位的管理,包括:對(duì)加盟單位的增加、刪除、更新信息。
(三)交通信息的管理模塊
該模塊的主要功能是實(shí)現(xiàn)對(duì)交通安全法則、機(jī)動(dòng)車輛信息、問題車輛信息、駕校學(xué)員信息,包括:對(duì)各種信息的增加、刪除、更新信息。
(四)單位類別信息管理模塊
該模塊的主要功能是實(shí)現(xiàn)對(duì)單位性質(zhì)信息進(jìn)行管理,可以對(duì)單位編號(hào)和性質(zhì)進(jìn)行增加、刪除、更改。建立前臺(tái)軟件的實(shí)現(xiàn)本部分主要內(nèi)容為本系統(tǒng)的運(yùn)行界面以及主要界面的源代碼。
1.系統(tǒng)登陸界面。本窗體的主要功能是為了對(duì)系統(tǒng)進(jìn)行安全性管理,如果沒有使用管理員身份登陸本系統(tǒng),只能對(duì)數(shù)據(jù)做簡(jiǎn)單的查詢,不能增刪改數(shù)據(jù),本系統(tǒng)的用戶名和密碼保存在gly表中,第一次登錄系統(tǒng)可以用aaa;111為用戶名和密碼來登陸本系統(tǒng),進(jìn)入系統(tǒng)后,用戶可以進(jìn)入系統(tǒng)管理注冊(cè)新的管理員并重新建立用戶名和密碼。首先在模塊中聲明一個(gè)全局變量:str_mm str_yh str_dz
Varrs varconn tuichu ziti
代碼是:
Public varrs As New ADODB.Connection
Public varconn As New ADODB.Recordset
2.應(yīng)用窗體界面。在該界面上集成了本系統(tǒng)的所有功能,共有6個(gè)功能菜單和27個(gè)子菜單(功能模塊),從而實(shí)現(xiàn)會(huì)員管理信息,加盟信息管理,青年志愿者管理信息,以及相對(duì)應(yīng)的查詢模塊,可以在系統(tǒng)管理菜單中進(jìn)行系統(tǒng)配置,同時(shí)可以完成對(duì)本系統(tǒng)的管理員安全性管理。
3.問題車輛數(shù)據(jù)維護(hù)窗體。該窗體模塊可以對(duì)違章肇事報(bào)廢車輛信息的管理,具有添加記錄,刪除記錄,更新記錄的功能。
Private Sub Com_ADD_Click() '添加
If Text1.Text <> \"\" And Text2.Text <> \"\" And Text3.Text <> \"\" And Text4.Text <> \"\" Then
varrs.AddNew
Else
MsgBox \"您輸入的數(shù)據(jù)不全,無法添加新的記錄\"
End If
Text1.SetFocus
End Sub
Private Sub Com_DEL_Click() '刪除
If MsgBox(\"要?jiǎng)h除此記錄嗎?\", 32 + vbYesNo, \"提示信息\") = vbYes Then
varrs.Delete
varrs.MoveFirst
End If
End Sub
4.站點(diǎn)查詢模塊。主要功能是可以進(jìn)行增加、刪除、更新的操作。
Private Sub Form_Load()
varrs.LockType = adLockPessimistic
varrs.CursorType = adOpenKeyset
Set varrs.ActiveConnection = varconn
varrs.Open \"select * from 市長(zhǎng)途汽車站前往站點(diǎn)一覽\"
Set Lbl_sfz.DataSource = varrs
Lbl_sfz.DataField = \"始發(fā)站\"
Set Lbl_qw.DataSource = varrs
Lbl_qw.DataField = \"前往站點(diǎn)\"
End Sub
5.交通系統(tǒng)信息管理模塊。該模塊可以實(shí)現(xiàn)對(duì)青年志愿者信息管理,具有增加、刪除、更新信息的功能。
Option Explicit
Dim varrs7 As New ADODB.Recordset
Private Sub Command1_Click()
On Error Resume Next
Form7.DataGrid1.Refresh
If Trim(Text13.Text) = Empty Then
MsgBox \"輸入姓名必須輸入,否則無法添加....\", vbInformation + vbOKOnly, \"數(shù)據(jù)不完整\"
Exit Sub
6.查詢信息模塊。該模塊可以實(shí)現(xiàn)對(duì)會(huì)員信息進(jìn)行管理,具有查詢具體信息的功能。
If Trim(Text3.Text) <> \"\" Then
If lastbookmark <> \"\" Then
lastbookmark = lastbookmark \" and (lxdh='\" Trim(Text3.Text) \"')\"
Else
lastbookmark = \"(lxdh='\" Trim(Text3.Text) \"')\"
End If
7.查詢管理模塊。該模塊可以實(shí)現(xiàn)會(huì)員查詢管理。
Private Sub Command3_Click()
On Error Resume Next
varrs2.CursorType = adOpenKeyset '聯(lián)接表
varrs2.LockType = adLockPessimistic
Set varrs2.ActiveConnection = varconn
Dim lastbookmark As String
Form2.DataGrid1.Refresh
lastbookmark = \"\"
If Trim(Text13.Text) <> \"\" Then '精確查詢,使用”=“號(hào)
lastbookmark = \"(xm='\" Trim(Text13.Text) \"')\"
End If
If Trim(Text7.Text) <> \"\" Then
If lastbookmark <> \"\" Then
lastbookmark = lastbookmark \" and (xb='\" Trim(Text7.Text) \"')\" '多條件情況下,使用and進(jìn)行條件連接
Else
lastbookmark = \"(xb='\" Trim(Text7.Text) \"')\"
End If
End If
If Trim(Text8.Text) <> \"\" Then
四、結(jié)論
本軟件主要采用Visual Basic語言和Access 數(shù)據(jù)庫基本實(shí)現(xiàn)了前臺(tái)界面和后臺(tái)管理的所有功能。該軟件主要包含系統(tǒng)登陸界面、應(yīng)用窗體界面、站點(diǎn)查詢模塊、交通系統(tǒng)信息管理模塊、查詢信息模塊和查詢管理模塊等部分。友好的界面、便捷的操作、良好的安全性、以及合理的數(shù)據(jù)結(jié)構(gòu),更加易于軟件日后的更新和修改,使得軟件各個(gè)功能模塊層次清晰,不僅用戶看來簡(jiǎn)單實(shí)用,而且更大程度上增加了軟件的實(shí)用性和安全性。
參考文獻(xiàn):
[1]李玉東,李罡.Visual Basic6.0控件大全[M].北京:電子工業(yè)出版社,2000.
[2]王珍玲.實(shí)用軟件工程教程[M].北京:高等教育出版社,2004.
[3]姜曉銘,劉晨.跟我學(xué)Visual Basic6.0中文版——程序開發(fā)寶典[M].北京:冶金工業(yè)出版社,1999.
[4]劉鋼楊,崇禮.Visual Basic6.0程序設(shè)計(jì)——實(shí)用教程[M].北京:中國(guó)民航出版社,2002.
[5]張勇.Visual Basic課程設(shè)計(jì)案例精編[M].北京:中國(guó)水利水電出版社,2004.