張勝
摘要:該文使用VS2008及ACCESS2003制作人員資料庫(kù)管理系統(tǒng),通過(guò)ADO.NET實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接,通過(guò)靈活使用SQL語(yǔ)句實(shí)現(xiàn)靈活查找功能,可看到WINFORMS編程對(duì)制作小型桌面應(yīng)用系統(tǒng)有一定的靈活性。
關(guān)鍵詞:VB.NET;VS2008;數(shù)據(jù)庫(kù)
中圖分類(lèi)號(hào):TP271 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)32-7650-02
1需求分析
某部門(mén)要求建立海外人士資料數(shù)據(jù)庫(kù)??傮w要求是能夠方便輸入、查找和調(diào)閱,如輸入人名或國(guó)家、地區(qū)等就能調(diào)閱其資料。數(shù)據(jù)庫(kù)具體欄目如下:
1)編號(hào)(按省的拼音第一個(gè)字母-數(shù)字),姓名、性別、年齡、民族、居住國(guó)家或地區(qū)、原籍、文化程度、專(zhuān)業(yè)、職稱(chēng);
2)工作單位:國(guó)外、國(guó)內(nèi);
3)聯(lián)系方式:國(guó)外、國(guó)內(nèi),如通訊地址(Add)、電話(Tel)、手機(jī)(M/P)、傳真(Fax)、MSN、E-mail;(打算放在一個(gè)字段內(nèi));
4)本人簡(jiǎn)介;
5)國(guó)內(nèi)主要親屬:姓名、何種關(guān)系、相關(guān)人員,職業(yè)、聯(lián)系方式。
6)鑒于該程序是某個(gè)科室自己用,所以對(duì)安全性要求不高,故系統(tǒng)登陸只需要設(shè)置簡(jiǎn)單登陸賬號(hào),及一個(gè)管理員賬號(hào)和若干一般用戶賬號(hào)。
7)系統(tǒng)要求能方便輸入查找,刪除相關(guān)信息,具體記錄列表中還能調(diào)出詳細(xì)情況。
8)鑒于實(shí)際需要,要可以根據(jù)用戶要求輸出打印功能,可以用報(bào)表實(shí)現(xiàn)。
9)由于水平有限,相關(guān)高級(jí)應(yīng)用尚未學(xué)到,只能采用簡(jiǎn)單技術(shù)進(jìn)行過(guò)功能組合。
2系統(tǒng)設(shè)計(jì)
系統(tǒng)功能有用戶管理,人員管理,親屬管理,用戶備份與打印,四個(gè)模塊
1)用戶管理僅僅需要添加與刪除用戶功能,整個(gè)系統(tǒng)用戶分成兩種:系統(tǒng)管理員和一般用戶前者擁有所有權(quán)限,后者只具有查詢功能。
2)人員管理有添加,編輯,查找,刪除功能,使用的是海外人士表
3)親屬管理是添加,編輯,刪除功能,使用的是親屬表。
4)用戶備份與打印比較簡(jiǎn)單,由于采用的是桌面數(shù)據(jù)庫(kù)ACCESS,備份功能只需要復(fù)制存檔就可以了,打印功能可以使用VS2008的報(bào)表組件。
3數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)只要有三個(gè)表就可以了,結(jié)構(gòu)如下:
1)登陸賬號(hào)表:tbuser有用戶編號(hào)(主鍵)、用戶名、密碼、權(quán)限四個(gè)字段
2)海外人士表:overseas專(zhuān)業(yè)姓名有性別、年齡、現(xiàn)居住地、原籍、文化程度、人員編號(hào)等字段
3)相關(guān)人員親屬表:有ID(主鍵)、姓名、關(guān)系、職業(yè)相關(guān)人員等字段
4系統(tǒng)實(shí)現(xiàn)部分細(xì)節(jié)
1)查找條件采用的SQL語(yǔ)句:
SQLString="SELECT*FROMoverseasWHERE "&Cmbfield.Text&"like'%"+txtSearchBy.Text+"%'",可以實(shí)現(xiàn)部分模糊查找功能。
2)報(bào)表功能部分代碼:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'數(shù)據(jù)定義區(qū)(略)
'---------------------------------------
'獲取選取的字段并進(jìn)行處理,實(shí)際為利用控件數(shù)組
ForEachitemInCheckedListBox1.CheckedItems
FieldString=FieldString&","&item.ToString()
Next
IfFieldString=""Then
MessageBox.Show("請(qǐng)選擇要顯示的字段")
ExitSub
EndIf
'刪除第一個(gè)逗號(hào),使字串最終顯示為"字段1,字段2,字段3"
IfFieldString.Substring(0,1)=","Then
FieldString=FieldString.Substring(1,F(xiàn)ieldString.Length-1)
EndIf
'分割成數(shù)組,每個(gè)元素為一個(gè)字段名稱(chēng)
FieldArray=FieldString.Split(",")
'----------------------------------------
'數(shù)據(jù)獲取與組織部分
'以下為數(shù)據(jù)獲取段,你可以根據(jù)自己的實(shí)際情況任意更改數(shù)據(jù)獲取方式
'數(shù)據(jù)庫(kù)連接字段,數(shù)據(jù)獲取段(略)
5應(yīng)用程序安裝部署
采用workfactory進(jìn)行制作安裝程序,必備軟件為.netframework3.5及VS2008報(bào)表支持軟件(可在VS2008安裝目錄找到)。
6結(jié)束語(yǔ)
考慮面向小型桌面應(yīng)用,數(shù)據(jù)庫(kù)容量及安全性要求低,今后可考慮采用中型DBMS
參考文獻(xiàn):
[1]周曉杰,高鑒偉.visualbasic2005數(shù)據(jù)庫(kù)項(xiàng)目案例導(dǎo)航[M].北京:清華大學(xué)出版社,2009.
[2]薩師瑄,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].3版.北京:高等教育出版社,2000.