版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——數(shù)據(jù)庫(kù)原理及應(yīng)用最終一次上機(jī)實(shí)踐第六次上機(jī)實(shí)踐
試驗(yàn)七應(yīng)用VB開(kāi)發(fā)簡(jiǎn)單的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)1設(shè)計(jì)數(shù)據(jù)庫(kù)2設(shè)計(jì)應(yīng)用程序界面
。2設(shè)計(jì)應(yīng)用程序界面
試驗(yàn)七應(yīng)用VB開(kāi)發(fā)簡(jiǎn)單的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)
項(xiàng)目:基于VisualBasic/SQLServer的學(xué)生信息管理系統(tǒng)
★學(xué)生信息管理系統(tǒng)開(kāi)發(fā)主要包括
▲后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)和維護(hù)
要求:建立一致性,完整性,安全性好的數(shù)據(jù)庫(kù)工具:SQLServer2023▲前端應(yīng)用程序的開(kāi)發(fā)
要求:應(yīng)用程序功能完備,易使用。工具:VisualBasic
★學(xué)生信息管理系統(tǒng)采用C/S(客戶機(jī)和服務(wù)器結(jié)構(gòu))體系結(jié)構(gòu),依照客戶端設(shè)計(jì)和教據(jù)庫(kù)設(shè)計(jì)兩部分進(jìn)行??蛻舳嗽O(shè)計(jì)負(fù)責(zé)提供表達(dá)規(guī)律、顯示用戶界面信息、訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器等,采用ⅥsualBasic6.0作為開(kāi)發(fā)工具;服務(wù)器端則用于提供數(shù)據(jù)服務(wù),采用SQLServer2023作為數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)現(xiàn)服務(wù)器端的數(shù)據(jù)處理?!锟蛻舳讼到y(tǒng)總體設(shè)計(jì)
學(xué)生信息管理系統(tǒng)客戶端主要對(duì)學(xué)生信息、課程信息、學(xué)生成績(jī)信息進(jìn)行管理,該系統(tǒng)分4個(gè)功能模塊,如下圖。
1)專(zhuān)業(yè)班級(jí)管理:包括專(zhuān)業(yè)信息和班級(jí)信息的錄入、修改、刪除等操作。
2)學(xué)生信息管理:包括學(xué)生信息的錄入、修改、刪除、查詢和生成報(bào)表等操作。3)選修課程設(shè)置:實(shí)現(xiàn)課程信息的錄入、修改、刪除、查詢和生成報(bào)表等操作。4)成績(jī)信息管理:實(shí)現(xiàn)學(xué)生成績(jī)的錄入、修改、刪除和查詢等操作。錄入某個(gè)學(xué)生的某門(mén)課程的成績(jī)時(shí),由于學(xué)生信息和課程信息已在數(shù)據(jù)庫(kù)中存在,可通過(guò)下拉列表框的形式來(lái)選擇學(xué)生和課程來(lái)錄入、修改、刪除和查詢成績(jī)。
1
系統(tǒng)的功能模塊圖
預(yù)備知識(shí)VB基礎(chǔ)
一、為什么采用VisualBasic6.0開(kāi)發(fā)數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)系統(tǒng)(信息管理系統(tǒng))開(kāi)發(fā)工具好多,早期的如FoxPro等。目前,主流的開(kāi)發(fā)工具有VisualBasic,VisualC++,Delphi等,其中VisualBasic以其簡(jiǎn)單易懂的語(yǔ)法,直觀而強(qiáng)大的IDE(集成開(kāi)發(fā)環(huán)境),豐富強(qiáng)大的數(shù)據(jù)庫(kù)操作特性成為最流行的數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)工具。
在Windows操作系統(tǒng)中,VisualBasic是最簡(jiǎn)單的數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),通過(guò)它可以在很短的時(shí)間內(nèi)開(kāi)發(fā)出高效、美觀的數(shù)據(jù)庫(kù)應(yīng)用程序。
1)VisualBasic作為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)有以下優(yōu)點(diǎn):
簡(jiǎn)單性。VisualBasic提供了數(shù)據(jù)控件,利用該控件用戶可以便利地訪問(wèn)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行瀏覽。
靈活性。VisualBasic不像一般的數(shù)據(jù)庫(kù)(如Access)那樣局限于特定的應(yīng)用程序結(jié)構(gòu),也不需要某些指令對(duì)當(dāng)前開(kāi)啟的數(shù)據(jù)庫(kù)進(jìn)行操作,因而比較靈活。
可擴(kuò)展性。VisualBasic是一種可以擴(kuò)展的語(yǔ)言,其中包括在數(shù)據(jù)庫(kù)方面的擴(kuò)展。在VisualBasic中,可以使用Active控件,這些控件可以由Microsoft公司提供,也可由第三方開(kāi)發(fā)者提供。有了這些控件,可以很簡(jiǎn)單地在VisualBasic中增加新功能。
2)數(shù)據(jù)庫(kù)前端是一個(gè)計(jì)算機(jī)應(yīng)用程序,用該應(yīng)用程序可以選擇數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng),并把所選擇的數(shù)據(jù)項(xiàng)按用戶的要求顯示出來(lái)。數(shù)據(jù)庫(kù)系統(tǒng)本身被稱為后端,后端數(shù)據(jù)庫(kù)尋常是一個(gè)關(guān)系表的集合。
選擇VisualBasic作為開(kāi)發(fā)數(shù)據(jù)庫(kù)前端應(yīng)用程序的工具,主要是由于VisualBasic可以和多種數(shù)據(jù)庫(kù)連接。目前,較為流行的大多數(shù)數(shù)據(jù)庫(kù)都可以與VisualBasic連接,因而可以用VisualBasic開(kāi)發(fā)相應(yīng)的前端應(yīng)用程序。
二、VB環(huán)境下數(shù)據(jù)處理功能簡(jiǎn)介
VB中提供了多種數(shù)據(jù)庫(kù)訪問(wèn)方法,可以訪問(wèn)的數(shù)據(jù)類(lèi)型有dBase,FoxPro和Access數(shù)據(jù)庫(kù)。VB提供的數(shù)據(jù)庫(kù)訪問(wèn)方法主要有:使用可視化數(shù)據(jù)管理器管理數(shù)據(jù)庫(kù),用Data,ADO數(shù)據(jù)控件訪問(wèn)數(shù)據(jù)庫(kù),通過(guò)ODBC方式訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)以及
2
采用對(duì)象變量訪問(wèn)數(shù)據(jù)庫(kù)等。
VB提供了多種SQLServer數(shù)據(jù)庫(kù)的訪問(wèn)方法,例如使用數(shù)據(jù)訪問(wèn)對(duì)象(DAO),遠(yuǎn)程訪問(wèn)對(duì)象(RDO),ADO數(shù)據(jù)控件及ADO對(duì)象等。
可視化數(shù)據(jù)庫(kù)工具(VisualDambaseTools)是集成在VB6.0開(kāi)發(fā)環(huán)境中的可視化的數(shù)據(jù)庫(kù)管理工具使用這套工具主要可以完成以下功能:
鏈接到任何符合ODBC(微軟公司推出的開(kāi)放式數(shù)據(jù)庫(kù)互聯(lián))規(guī)則的數(shù)據(jù)庫(kù)。使用數(shù)據(jù)庫(kù)圖表創(chuàng)立和修改soLServer數(shù)據(jù)庫(kù)。設(shè)計(jì)、執(zhí)行和保存繁雜的查詢。
添加、更改和刪除存儲(chǔ)在數(shù)據(jù)庫(kù)表中的數(shù)據(jù)
可視化數(shù)據(jù)庫(kù)工具(VisualDambaseTools)主要由數(shù)據(jù)視圖、數(shù)據(jù)庫(kù)設(shè)計(jì)器、查詢?cè)O(shè)計(jì)器和源代碼編輯器四部分組成。1數(shù)據(jù)視圖
數(shù)據(jù)視圖的外觀與工程窗口十分類(lèi)似,只是數(shù)據(jù)視圖是用來(lái)管理數(shù)據(jù)庫(kù)對(duì)象的,它提供了一種圖形化方法來(lái)組織數(shù)據(jù)庫(kù)對(duì)象,這些數(shù)據(jù)庫(kù)對(duì)象包括數(shù)據(jù)庫(kù)圖表、表、視圖、觸發(fā)器和存儲(chǔ)過(guò)程。用戶可以通過(guò)雙擊、拖動(dòng)及右鍵菜單對(duì)數(shù)據(jù)庫(kù)對(duì)象執(zhí)行開(kāi)啟、創(chuàng)立和編輯等操作。
數(shù)據(jù)綁定控件。
在VB環(huán)境下,常用的對(duì)象有各種控件、窗體、菜單、應(yīng)用程序的部件以及數(shù)據(jù)庫(kù)等。這些對(duì)象都具有屬性(數(shù)據(jù))和行為方式(方法)。屬性用于描述對(duì)象的一組特征,方法為對(duì)象實(shí)施一些動(dòng)作,對(duì)象的動(dòng)作往往要觸發(fā)事件,而觸發(fā)事件又可以修改屬性。一個(gè)對(duì)象建立后,其操作可通過(guò)與該對(duì)象有關(guān)的屬性、事件和方法來(lái)描述。
數(shù)據(jù)綁定控件是數(shù)據(jù)識(shí)別控件,在數(shù)據(jù)庫(kù)中通過(guò)它訪問(wèn)信息,當(dāng)一個(gè)控件被綁定到數(shù)據(jù)控件控件,該控件將顯示數(shù)據(jù)庫(kù)中的字段,并接受對(duì)數(shù)據(jù)庫(kù)的修改。
大多數(shù)綁定控件是用DataChanged,DataField,DataSource屬性的設(shè)置與Data控件綁定的。其中DataChanged屬性說(shuō)明返回綁定控件中的值是否極已經(jīng)改變,DataField屬性用于設(shè)置要顯示得數(shù)據(jù)庫(kù)中的字段名稱,DataSource屬性用于設(shè)置與該控件綁定的Data控件的名稱。
試驗(yàn)七應(yīng)用VB開(kāi)發(fā)簡(jiǎn)單的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)2設(shè)計(jì)應(yīng)用程序界面
一、試驗(yàn)?zāi)康?/p>
熟悉VB6.0的集成環(huán)境及其基本操作:
熟悉VB軟件的使用,要求把握VB的基本功能、常用控件能夠運(yùn)用;學(xué)會(huì)對(duì)數(shù)據(jù)控件(Data控件、數(shù)據(jù)綁定控件等)的使用;熟悉VB數(shù)據(jù)訪問(wèn)技術(shù)。
二、試驗(yàn)內(nèi)容
1)VB的啟動(dòng),對(duì)VB集成開(kāi)發(fā)環(huán)境(IDE)的熟悉,熟悉工具箱中相應(yīng)的控
件功能及其使用方法。重點(diǎn)把握數(shù)據(jù)控件(Data)、數(shù)據(jù)綁定控件(如文本框、組合框等標(biāo)準(zhǔn)控件)。
三、試驗(yàn)步驟和方法
3
1)啟動(dòng)VB程序后,首先顯示“新建工程〞對(duì)話框,如圖1所示。
圖1.“新建工程〞對(duì)話框
雙擊“新建〞選項(xiàng)卡中的“標(biāo)準(zhǔn)EXE〞選項(xiàng)(默認(rèn)選項(xiàng))或在選擇了某種工程后,單擊“開(kāi)啟〞按鈕,進(jìn)入VB的集成開(kāi)發(fā)環(huán)境(IDE),如圖2所示。當(dāng)一個(gè)應(yīng)用程序開(kāi)始創(chuàng)立時(shí),系統(tǒng)會(huì)自動(dòng)為該程序添加一個(gè)空白窗體到窗體設(shè)計(jì)器中。
在設(shè)計(jì)程序界面時(shí)僅需要將工具箱中的相應(yīng)的控件(部件),畫(huà)到窗體的適當(dāng)位置即可。而后編寫(xiě)這些控件的事件代碼,即可完成一般性的程序設(shè)計(jì)過(guò)程。
在集成開(kāi)發(fā)環(huán)境中集中了大量不同的功能,如程序設(shè)計(jì)、編輯、編譯、調(diào)試等,這使用戶在一個(gè)界面中可以完成多個(gè)任務(wù)。
圖2.VB6.0的集成開(kāi)發(fā)環(huán)境
2)使用ADO控件設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)瀏覽程序
在窗體中添加幾對(duì)標(biāo)簽和文本框和一個(gè)ADO控件。
設(shè)置標(biāo)簽的Caption屬性,文本框的Text屬性設(shè)置為空。
設(shè)置ADO控件的屬性:鼠標(biāo)指向ADO控件,單擊右鍵,選擇“ADODC屬性〞。在
4
“通用〞選項(xiàng)卡中選擇“使用鏈接字符串〞,單擊“生成〞按鈕,開(kāi)啟了“數(shù)據(jù)鏈接屬性〞對(duì)話框,
在“提供者〞選項(xiàng)卡中選擇
單擊下一步,進(jìn)入“鏈接〞選項(xiàng)卡,在其中選擇需要使用的數(shù)據(jù)庫(kù)文件,然后單擊“測(cè)試鏈接〞按鈕,驗(yàn)證鏈接的正確性。單擊“確定〞按鈕完成數(shù)據(jù)鏈接屬性的設(shè)置。
5
在ADO控件屬性頁(yè)的“記錄源〞選項(xiàng)卡中,設(shè)置命令類(lèi)型為2(表類(lèi)型),設(shè)置控件的RecordSource屬性。
在ADO控件的屬性設(shè)置完畢之后,設(shè)置文本框的DataSource屬性和DataField屬性。
編寫(xiě)程序代碼
PrivateSubText1_Change()
a=Adodc1.Recordset.AbsolutePositionb=Adodc1.Recordset.RecordCount
Adodc1.Caption=〞當(dāng)前記錄號(hào):〞&a&〞/〞&b
6
EndSub
可有如下運(yùn)行結(jié)果:
3)創(chuàng)立窗體
4)使用數(shù)據(jù)視圖工具創(chuàng)立數(shù)據(jù)連接。
點(diǎn)擊
,開(kāi)啟數(shù)據(jù)視圖窗口:
點(diǎn)擊數(shù)據(jù)視圖窗口中工具欄第三個(gè)圖標(biāo)“添加新的數(shù)據(jù)連接〞,開(kāi)啟對(duì)話框
7
圖“數(shù)據(jù)鏈接屬性〞列話框
在“提供者〞選項(xiàng)卡中選擇“MicrosoftOLEDBProviderforODBCDrivers〞選項(xiàng)后,單擊“下一步〞按鈕,進(jìn)入鏈接選項(xiàng)卡,在其中選擇“使用鏈接字符串〞后,單擊“編譯“按鈕。
8
圖使用字符串創(chuàng)立鏈接
圖新建機(jī)器數(shù)據(jù)源
在上圖所示的對(duì)話框中,選擇“機(jī)器數(shù)據(jù)源〞選項(xiàng)卡,單擊其中“新建〞按鈕。在圖14-24所示的對(duì)話框中選擇數(shù)據(jù)源的類(lèi)型,本例選擇了“系統(tǒng)數(shù)據(jù)源〞。
9
選擇數(shù)據(jù)源類(lèi)型
單擊下一步
圖選擇數(shù)據(jù)源的驅(qū)動(dòng)程序
對(duì)話框中選擇數(shù)據(jù)源的驅(qū)動(dòng)程序,本例選擇了SQLServer,單擊“下一步〞按鈕。
10
16
17
設(shè)置文本框的DataSource屬性和DataField屬性。
5)運(yùn)行,調(diào)試程序。最終生成一個(gè)可執(zhí)行文件,應(yīng)用程序設(shè)計(jì)完成。體會(huì)
★學(xué)生信息管理系統(tǒng)開(kāi)發(fā)主要包括▲后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)和維護(hù)
要求:建立一致性,完整性,安全性好的數(shù)據(jù)庫(kù)工具:SQLServer2023▲前端應(yīng)用程序的開(kāi)發(fā)
要求:應(yīng)用程序功能完備,易使用。工具:VisualBasic6)完成試驗(yàn)報(bào)告
18
最終一次實(shí)踐任務(wù):用代碼來(lái)訪問(wèn)數(shù)據(jù)庫(kù),建立應(yīng)用程序。
本任務(wù)有一定難度,有興趣同學(xué)可選作,
熟悉VB的同學(xué)可以選作。
用代碼來(lái)訪問(wèn)數(shù)據(jù)庫(kù),建立應(yīng)用程序
步驟一:
在創(chuàng)立了數(shù)據(jù)鏈接后,就可以使用該鏈接來(lái)訪問(wèn)SQLServer數(shù)據(jù)庫(kù)了,新建一個(gè)標(biāo)準(zhǔn)EXE類(lèi)型VB工程,執(zhí)行“工程〞菜單“DataEnvironment〞命令,將一個(gè)數(shù)據(jù)環(huán)境設(shè)計(jì)器添加到當(dāng)前工程中。
單擊VB工具欄中的“數(shù)據(jù)視圖窗口〞工具按鈕,開(kāi)啟“數(shù)據(jù)視圖〞對(duì)話框。將其中的spe_Info表拖放到數(shù)據(jù)環(huán)境設(shè)計(jì)器中,如下圖。
此時(shí)在數(shù)據(jù)環(huán)境設(shè)計(jì)器中自動(dòng)添加一個(gè)鏈接對(duì)象Connection2,該對(duì)象中包含有spe_Info表,從窗口可以看到該表中所有字段信息。
鼠標(biāo)指向數(shù)據(jù)環(huán)境設(shè)計(jì)器下spe_Info表,單擊右鍵在彈出的菜單中執(zhí)行屬性命令,開(kāi)啟spe_Info對(duì)話框。
進(jìn)入“高級(jí)〞選項(xiàng)卡,將“游標(biāo)位置’’設(shè)置為“2使用服務(wù)器端游標(biāo)〞,將“游標(biāo)類(lèi)型設(shè)置為2-動(dòng)態(tài)〞,將“鎖定類(lèi)型設(shè)置為開(kāi)放式。設(shè)置完畢后,單擊“確定〞
19
按鈕,關(guān)閉spe_Info屬性對(duì)話框;
對(duì)象屬性設(shè)置完畢后,在數(shù)據(jù)環(huán)境設(shè)計(jì)器中將“spe_Info’直接拖放到標(biāo)準(zhǔn)EXE工程的窗體上,系統(tǒng)自動(dòng)為各字段建立約束控件(數(shù)據(jù)綁定控件)及對(duì)應(yīng)的標(biāo)簽控件。
●觀測(cè)數(shù)據(jù)綁定控件的使用。
在上圖中,在窗體上有兩個(gè)文本框,兩個(gè)標(biāo)簽。將兩個(gè)標(biāo)簽的Caption屬性分別設(shè)為“專(zhuān)業(yè)號(hào)〞和“專(zhuān)業(yè)名〞。
如上圖,在窗體上添加3個(gè)按鈕控件(Command1、Command2、Command13),并放在適當(dāng)位置,按下面編寫(xiě)按鈕控件的事件代碼。PrivateSubCommand1_Click()OnErrorGoToerror1
DataEnvironment1.rsspe_Info.MovePreviousIfDataEnvironment1.rsspe_Info.BOFThenDataEnvironment1.rsspe_Info.MoveFirsrEndIfExitSuberror1:
MsgBoxErr.Description.vbOKOnly,\出錯(cuò)提醒\EndSub退出按鈕:
20
PrivateSubCommand3_Click()EndEndSub
程序運(yùn)行結(jié)果如上圖。
步驟二:
4)正式設(shè)計(jì)學(xué)生信息管理系統(tǒng)應(yīng)用程序:界面與代碼設(shè)計(jì)一、公共模塊中定義的全局變量及子程序1.定義的全局變量
PubllcMyConnectionAsNewADODB.Connection用于建立弓數(shù)據(jù)庫(kù)的連接PublicSQLUserNameAsString存放SQL的登錄賬號(hào)2.ChangeFormPos(frmMainAsMDIForm,frmAsForm)子過(guò)程功能:用于確定調(diào)用窗體在主窗體frmMain中昀顯示位置。
PubllcSubChangormPos(frmMainAsMDIForm,frmAsForm)DimTopASInteger
Top=(FtrmMain.ScaleHeight-frm.Height)/2-600IfTop>0ThenFrm.Top=TopElse
Frm.Top=0Endif
frm.Ltft=(frmMain.ScaleWidth-frm.Width)/2EndSub
二、用戶登錄窗體的設(shè)計(jì)
用戶登錄是為了確定該用戶是否具備使用系統(tǒng)的權(quán)力及訪問(wèn)各模塊的權(quán)限。該窗體首先完成與數(shù)據(jù)庫(kù)的信任連接,并將student數(shù)據(jù)庫(kù)的所有SQLServer用戶添加到用戶名組合列表框中。登錄時(shí),用戶從列表框中選擇用戶名,輸入密碼后,單擊“確定〞按鈕,應(yīng)用程序?qū)Ⅱ?yàn)證用戶名和密碼,若是合法的SQLServer用,一,則該用戶有權(quán)進(jìn)入系統(tǒng)。登錄窗體界面如下圖
21
窗體中的主要控件名稱及屬性值如表所示:
窗體中主要控件及屬性值
┃
在窗體frmLogin中,添加以下代碼:
DimMyconnection_isOpenAsBoolean‘定義變量用于標(biāo)記數(shù)據(jù)庫(kù)是否連接PriVateSubFormLoad()
DimstrConnASStrinq‘先以Windows用戶連接到SQLServer,獲取數(shù)據(jù)庫(kù)SQL賬戶
strConn=\〞_
+\
22
source=(local)〞
MvConntction.ConnectionStrinq-strConnOnErrorGoToerr_Open_msqMyConnection.Open
Myconnection_IsOpen=True
CallGetUserListExitSuberr_Open_msq:
MsgBox(\用戶連接到SQLServer\EndSub
SubGet_UserList(),獲取數(shù)據(jù)庫(kù)的SQL賬戶DimobirsAsNewADODB.Recordsetobjrs.CursorType=adOpenKeyset
objrs.LockType=adLockOptimistic
objrs.Open\MyConnection,,,adCmdTextcmbUser.Clear
DoUntilobjrs.EOF
cmbUser.AddItemobjrs.Fields(\objrs.MoveNextLoop
Setobjrs=Nothing
IfcmbUser.ListCount>0ThencmbUser.ListIndex=0EndSub
PrivateSubcmdExit_Click()EndEndSubPrivateSubcmdOK_Click()‘重新以SQL用J、1身份連接到SQLServerDimstrConnAsStringDimSQLPasswordAsStringIfMyconnection_IsOpenThenMyConnection.Close
Myconnection_IsOpen=FalseEndIf
SQLUserName=cmbUser.TextSQLPassword=txtPwd.Text
strConn=〞provider=SQLOLEDB.l;uid=\&\&SQLPassword&\MyConnection.ConnectionString=strConnOnErrorGoToerr_msqMyConnection.OpenMDIformMain.Show
Myconnaction_IsOpen=TrueUnloadMe
23
ExitSubErr_msg:
MsgBox(“SQL用戶不存在,或密碼不正確〞)EndSub
三、主窗體MDlformMain的設(shè)計(jì)
主窗體用于定位應(yīng)用程序的不同部分,為應(yīng)用程序提供導(dǎo)航功能。本系統(tǒng)采用多文檔界面,使用戶便利地在各個(gè)應(yīng)用程序之間切換,且多文檔窗體還可以少占系統(tǒng)資源。創(chuàng)立主窗體的一般步驟如下所述。
(l)在“工程〞菜單中單擊“添加MDI窗體〞命令,在出現(xiàn)的“添加MDI窗體〞對(duì)話框的“新建〞選項(xiàng)卡中選擇“窗體〞項(xiàng),然后單擊“開(kāi)啟〞按鈕。
(2)在“屬性〞對(duì)話框中設(shè)置窗體名稱為MDIfonnMain,Caption為“學(xué)生信息管理系統(tǒng)〞,WindowState為2-Maxmized,窗體界面如下圖。
圖主窗體MDIformMain的界面
(3)在窗體上單擊鼠標(biāo)右鍵,在彈出的快捷菜單L選擇“菜單編輯器〞,開(kāi)啟“菜單編輯器〞對(duì)話框,按圖所示編輯菜單項(xiàng)。
24
圖菜單編輯器界面
各菜單項(xiàng)標(biāo)題、名稱及單擊所執(zhí)行的命令如表所示。
界面設(shè)計(jì)完成后,在MDlformMain窗體中添加如下代碼:PrivateSubMDIForm_Load()
'假使以客人身份登錄,不允許進(jìn)行班級(jí)專(zhuān)業(yè)管理IfSQLUserName=\mnuSpeClass.Enabled=FalsemnuClass.Enabled=FalsemnuSpe.Enabled=FalseEndIfEndSub
PrivateSubmnuScore_Click()'進(jìn)入成績(jī)管理對(duì)話框
25
frmScore.Show
ChangeFormPosMDIformMain,frmScoreEndSub
PrivateSubmnuSpe_Click()'進(jìn)入專(zhuān)業(yè)管理對(duì)話框frmSpe.Show
ChangeFormPosMDIformMain,frmSpeEndSub
PrivateSubmnuClass_Click()'進(jìn)入班級(jí)管理對(duì)話框frmClass.Show
ChangeFormPosMDIformMain,frmClassEndSub
PrivateSubmnuCourse_Click()'進(jìn)入選修課程管理對(duì)話框frmCourse.Show
ChangeFormPosMDIformMain,frmCourseEndSub
PrivateSubmnuStu_Click()'進(jìn)入學(xué)生信息管理對(duì)話框frmStu.Show
ChangeFormPosMDIformMain,frmStuEndSub
PrivateSubmnuExit_Click()EndEndSub
四、專(zhuān)業(yè)管理和班級(jí)管理模塊的設(shè)計(jì)
專(zhuān)業(yè)班級(jí)管理模塊主要實(shí)現(xiàn)班級(jí)和專(zhuān)業(yè)的添加、修改和刪除等功能。1.專(zhuān)業(yè)管理frmSpe窗口的設(shè)計(jì)
選擇“專(zhuān)業(yè)班級(jí)管理〞中的“專(zhuān)業(yè)管理〞菜單項(xiàng),將出現(xiàn)如下圖的frmSpe窗體。
26
圖“專(zhuān)業(yè)管理〞窗體frmSpe的界面
窗體中的主要控件名稱及屬性值如表所示。
表“專(zhuān)業(yè)管理〞系統(tǒng)菜單標(biāo)題及名稱
27
在窗體frmSpe中,添加以下代碼:
PrivateSubForm_Load()'初始化窗口MSFlexGrid1.TextMatrix(0,0)=\記錄\MSFlexGrid1.TextMatrix(0,1)=\專(zhuān)業(yè)編號(hào)\MSFlexGrid1.TextMatrix(0,2)=\專(zhuān)業(yè)名稱\MSFlexGrid1.ColWidth(0)=500MSFlexGrid1.ColWidth(1)=1000MSFlexGrid1.ColWidth(2)=2000
CallDisplay_Spe'顯示所有專(zhuān)業(yè)的信息EndSub
28
PrivateSubcmdSpeAdd_Click()DimsqlAsString
DimobjrsAsADODB.Recordset
IftxtSpeNo.Text=\判斷專(zhuān)業(yè)編號(hào)是否為空,為空則重新輸入專(zhuān)業(yè)編號(hào)
MsgBox\班級(jí)編號(hào)必需填寫(xiě)!\txtSpeNo.SetFocusExitSubEndIf
IftxtSpeName.Text=\判斷專(zhuān)業(yè)名稱是否為空,為空則重新輸入專(zhuān)業(yè)名稱
MsgBox\班級(jí)名稱必需填寫(xiě)!\txtSpeName.SetFocusExitSubEndIf
sql=\
sql=sql&txtSpeNo&\OnErrorGoToerr_Msg_Insert
Setobjrs=MyConnection.Execute(sql)
frmSpe.MSFlexGrid1.Rows=frmSpe.MSFlexGrid1.Rows+1frmSpe.MSFlexGrid1.Row=frmSpe.MSFlexGrid1.Rows-1
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,0)=frmSpe.MSFlexGrid1.Rows-1
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,1)=txtSpeNo.Text
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,2)=txtSpeName.Text
Setobjrs=NothingGoToOK_next
err_Msg_Insert:MsgBox(\該專(zhuān)業(yè)已經(jīng)存在,不可再添加!\OK_next:Setobjrs=NothingtxtSpeNo.Text=\txtSpeName.Text=\txtSpeNo.Enabled=TruetxtSpeName.Enabled=TrueEndSub
PublicSubDisplay_Spe()'將專(zhuān)業(yè)數(shù)據(jù)填入表格
DimobjrsAsNewADODB.Recordset,iAsInteger,strAsStringSetobjrs=MyConnection.Execute(\MSFlexGrid1.Rows=1DoUntilobjrs.EOF
29
i=i+1
MSFlexGrid1.Rows=i+1
MSFlexGrid1.TextMatrix(i,0)=iForj=1ToMSFlexGrid1.Cols-1
IfNotIsNull(objrs.Fields(j-1).Value)Then
MSFlexGrid1.TextMatrix(i,j)=CStr(objrs.Fields(j-1).Value)
EndIfNext
objrs.MoveNextLoop
Setobjrs=NothingEndSub
PrivateSubcmdSpeAdd_Click()DimsqlAsString
DimobjrsAsADODB.Recordset
IftxtSpeNo.Text=\判斷專(zhuān)業(yè)編號(hào)是否為空,為空則重新輸入專(zhuān)業(yè)編號(hào)
MsgBox\班級(jí)編號(hào)必需填寫(xiě)!\txtSpeNo.SetFocusExitSubEndIf
IftxtSpeName.Text=\判斷專(zhuān)業(yè)名稱是否為空,為空則重新輸入專(zhuān)業(yè)名稱
MsgBox\班級(jí)名稱必需填寫(xiě)!\txtSpeName.SetFocusExitSubEndIf
sql=\
sql=sql&txtSpeNo&\OnErrorGoToerr_Msg_Insert
Setobjrs=MyConnection.Execute(sql)
frmSpe.MSFlexGrid1.Rows=frmSpe.MSFlexGrid1.Rows+1frmSpe.MSFlexGrid1.Row=frmSpe.MSFlexGrid1.Rows-1
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,0)=frmSpe.MSFlexGrid1.Rows-1
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,1)=txtSpeNo.Text
frmSpe.MSFlexGrid1.TextMatrix(frmSpe.MSFlexGrid1.Row,2)=txtSpeName.Text
Setobjrs=NothingGoToOK_next
30
err_Msg_Insert:MsgBox(\該專(zhuān)業(yè)已經(jīng)存在,不可再添加!\OK_next:Setobjrs=NothingtxtSpeNo.Text=\txtSpeName.Text=\txtSpeNo.Enabled=TruetxtSpeName.Enabled=TrueEndSub
PrivateSubcmdSpeUpdate_Click()DimsqlAsString
DimobjrsAsADODB.Recordset
IftxtSpeNo.Text=\判斷班級(jí)編號(hào)是否為空,為空則重新輸入班級(jí)編號(hào)
MsgBox\班級(jí)編號(hào)必需填寫(xiě)!\txtSpeNo.SetFocusExitSubEndIf
IftxtSpeName.Text=\判斷班級(jí)名稱是否為空,為空則重新輸入班級(jí)名稱
MsgBox\班級(jí)名稱必需填寫(xiě)!\txtSpeName.SetFocusExitSubEndIf
sql=\
sql=sql&txtSpeName&\OnErrorGoToerr_Msg_Update
Setobjrs=MyConnection.Execute(sql)
frmSpe.MSFlexGr
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 桂平市九年級(jí)上學(xué)期語(yǔ)文期中考試卷
- 八年級(jí)上學(xué)期語(yǔ)文11月期中考試試卷
- 風(fēng)電專(zhuān)業(yè)考試題庫(kù)帶答案
- 四年級(jí)數(shù)學(xué)(三位數(shù)乘兩位數(shù))計(jì)算題專(zhuān)項(xiàng)練習(xí)及答案
- 自建房安裝水電合同范本(2篇)
- 激勵(lì)作業(yè)課件教學(xué)課件
- 南京航空航天大學(xué)《電視節(jié)目攝像與編輯實(shí)踐》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》2021-2022學(xué)年期末試卷
- 電機(jī)集團(tuán)鋼結(jié)構(gòu)廠房三期施工組織設(shè)計(jì)
- 法律為我們護(hù)航說(shuō)課稿
- 魚(yú)苗繁育中的親魚(yú)選擇與培育考核試卷
- 大學(xué)生國(guó)家安全教育智慧樹(shù)知到期末考試答案章節(jié)答案2024年
- 醫(yī)療器械相關(guān)性壓力性損傷
- 醫(yī)療保險(xiǎn)參與者自費(fèi)項(xiàng)目知情同意簽字管理制度
- 外圓內(nèi)方外方內(nèi)圓公開(kāi)課獲獎(jiǎng)?wù)n件
- 2024年《突發(fā)事件應(yīng)對(duì)法》知識(shí)考試題庫(kù)(含答案)
- 音樂(lè)鑒賞(西安交通大學(xué))智慧樹(shù)知到期末考試答案2024年
- 湖州市第七屆“期望杯”小學(xué)數(shù)學(xué)競(jìng)賽試題(六年級(jí))附參考答案
- 2024年護(hù)坡施工合同范本
- (2024年)量子計(jì)算機(jī)課件(精)
- 腦血管病介入治療
評(píng)論
0/150
提交評(píng)論