版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于VC++的班級(jí)信息管理系統(tǒng)</p><p> 計(jì)算機(jī)科學(xué)系 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)</p><p> 學(xué)號(hào): 姓名: 指導(dǎo)老師</p><p> 摘 要 隨著社會(huì)的發(fā)展與科技的全面進(jìn)步,使得人們?cè)絹碓较蛐畔⒒?shù)字化發(fā)展,管理信息系統(tǒng)(MIS)是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行信息收集、傳遞、加工、維
2、護(hù)和實(shí)用的系統(tǒng),必然會(huì)代替過去大量的、繁瑣的手工操作。對(duì)于學(xué)校來說,對(duì)學(xué)生的個(gè)各種信息進(jìn)行統(tǒng)計(jì)并顯示是非常重要的,本文通過Visual C++6.0的編程環(huán)境編寫班級(jí)信息管理系統(tǒng),利用Microsoft SQL server 2005數(shù)據(jù)庫系統(tǒng)編寫數(shù)據(jù)表,采用ODBC數(shù)據(jù)庫訪問技術(shù),用模塊化設(shè)計(jì)方式將系統(tǒng)各個(gè)功能模塊層層分解,設(shè)計(jì)出系統(tǒng)的模塊化結(jié)構(gòu),并根據(jù)系統(tǒng)的具體要求和需要實(shí)現(xiàn)功能,詳細(xì)的定義了各個(gè)模塊的具體功能。開發(fā)主要包括后期數(shù)據(jù)
3、庫的建立和維護(hù)以及前期應(yīng)用程序的開發(fā)兩方面,實(shí)現(xiàn)了學(xué)生信息的創(chuàng)建及學(xué)生成績(jī)、違紀(jì)情況的輸入、瀏覽、維護(hù)和統(tǒng)計(jì),使得系統(tǒng)具有功能強(qiáng)大,界面友好的特點(diǎn)。</p><p> 關(guān)鍵詞:信息管理;Visual C++6.0;SQL server 2005;ODBC</p><p><b> 目 錄</b></p><p> 第一章 引 言5&l
4、t;/p><p> 第二章 系統(tǒng)設(shè)計(jì)6</p><p> 2.1 需求分析6</p><p><b> 2.2系統(tǒng)目標(biāo)6</b></p><p> 2.3 可行性分析7</p><p> 第三章 運(yùn)行環(huán)境及系統(tǒng)技術(shù)簡(jiǎn)介7</p><p> 3.1 Visu
5、al C++ 6.0簡(jiǎn)介7</p><p> 3.2 Microsoft SQL Server 2005技術(shù)簡(jiǎn)介7</p><p> 3.3 SQL數(shù)據(jù)庫的優(yōu)點(diǎn) 8</p><p> 3.4 ODBC技術(shù)簡(jiǎn)介9</p><p> 3.5 C++語言簡(jiǎn)介9</p><p> 第四章 系統(tǒng)結(jié)構(gòu)功能分
6、析10</p><p> 4.1班級(jí)信息管理系統(tǒng)的功能結(jié)構(gòu)10</p><p> 4.2學(xué)生管理系統(tǒng)的業(yè)務(wù)流程圖11</p><p> 4.3數(shù)據(jù)庫設(shè)置11</p><p> 4.3.1.數(shù)據(jù)庫分析11</p><p> 4.3.2.數(shù)據(jù)庫概念設(shè)置12</p><p>
7、4.3.3.數(shù)據(jù)庫設(shè)計(jì)邏輯結(jié)構(gòu)13</p><p> 4.4.公共類的設(shè)置14</p><p> 第五章 主體窗設(shè)計(jì)及模塊功能實(shí)現(xiàn)15</p><p> 5.1主窗體設(shè)計(jì)15</p><p> 5.2科目信息管理模塊設(shè)計(jì)16</p><p> 5.2.1科目信息管理模塊概述16</p>
8、<p> 5.2.2科目信息管理技術(shù)分析16</p><p> 5.2.3科目信息管理實(shí)現(xiàn)過程17</p><p> 5.3學(xué)生信息管理模塊設(shè)計(jì)24</p><p> 5.3.1學(xué)生信息管理模塊概述24</p><p> 5.3.2學(xué)生信息管理實(shí)現(xiàn)過程25</p><p> 5.4學(xué)
9、生成績(jī)錄入模塊設(shè)置31</p><p> 5.4.1學(xué)生成績(jī)錄入模塊概述31</p><p> 5.4.2學(xué)生成績(jī)錄入技術(shù)分析31</p><p> 5.4.3學(xué)生成績(jī)錄入實(shí)現(xiàn)過程32</p><p> 5.5 學(xué)生違紀(jì)查詢模塊設(shè)置35</p><p> 5.5.1學(xué)生違紀(jì)查詢模塊概述35<
10、/p><p> 5.5.2學(xué)生違規(guī)查詢技術(shù)分析36</p><p> 5.5.3學(xué)生違規(guī)查詢實(shí)現(xiàn)過程36</p><p> 5.6學(xué)生成績(jī)報(bào)表打印模塊設(shè)計(jì)41</p><p> 第六章.項(xiàng)目文件清單45</p><p><b> 第七章軟件測(cè)46</b></p>&l
11、t;p><b> 結(jié)束語47</b></p><p><b> 致謝47</b></p><p><b> 參考文獻(xiàn)48</b></p><p><b> 第一章 引 言</b></p><p> 人類已經(jīng)進(jìn)入了一個(gè)科學(xué)技術(shù)突飛猛進(jìn)
12、的時(shí)代,經(jīng)濟(jì)知識(shí)和信息產(chǎn)業(yè)日漸重要。信息技術(shù)和網(wǎng)絡(luò)的迅猛發(fā)展和廣泛應(yīng)用,對(duì)社會(huì)的各個(gè)領(lǐng)域產(chǎn)生了深刻的影響,極大地改變了人們的工作、學(xué)習(xí)和交流方式。信息的獲取、交流和應(yīng)用能力,已經(jīng)成為人們最重要的能力之一。在知識(shí)經(jīng)濟(jì)占主導(dǎo)地位的將來,國(guó)家綜合國(guó)力和國(guó)際競(jìng)爭(zhēng)能力越來越取決于教育發(fā)展、科學(xué)技術(shù)和知識(shí)創(chuàng)新的水平,教育在經(jīng)濟(jì)和社會(huì)發(fā)展過程中呈現(xiàn)出越來越突出的重要作用。學(xué)生信息管理系統(tǒng)是一個(gè)教育代為不可或缺的部分,他的內(nèi)容對(duì)于學(xué)校的決策者和管理者來
13、說都是至關(guān)重要的。這就要求學(xué)生信息管理系統(tǒng)擁有強(qiáng)大的功能,能夠提供用戶足夠的信息和快捷的查詢你手段。一直以來,人們實(shí)用傳統(tǒng)人工的方法管理學(xué)生信息,這種管理方式存在著許多缺點(diǎn),入效率低、保密性差、數(shù)據(jù)容易出錯(cuò)等。此外,時(shí)間一長(zhǎng)將產(chǎn)生大量冗余的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。 科學(xué)技術(shù)的不斷發(fā)展和提高計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能人們已經(jīng)有了深刻的認(rèn)識(shí)。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生信息管理系統(tǒng)進(jìn)行信息管理
14、。有著手工管理無法比擬的優(yōu)點(diǎn),如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命</p><p><b> 第二章 系統(tǒng)設(shè)計(jì)</b></p><p> 本班級(jí)信息管理系統(tǒng)可以說是一個(gè)綜合性的學(xué)校學(xué)生管理系統(tǒng),它集成了學(xué)生學(xué)籍管理系統(tǒng)、學(xué)生班級(jí)管理系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)和學(xué)生選課管理系統(tǒng)多種功能,因而具有較強(qiáng)的實(shí)用行和先進(jìn)性。</p><p
15、><b> 2.1 需求分析</b></p><p> 通過對(duì)學(xué)生管理過程的研究和分析,要求本系統(tǒng)應(yīng)該具有以下功能。</p><p> ?。?)學(xué)生信息錄入。</p><p> ?。?)學(xué)生成績(jī)錄入。</p><p> ?。?)成績(jī)等級(jí)設(shè)置。</p><p> ?。?)學(xué)生違規(guī)處理。&l
16、t;/p><p> ?。?)學(xué)生成績(jī)排行。</p><p> ?。?)學(xué)生信息查詢。</p><p> (7)學(xué)生成績(jī)查詢、打印。</p><p><b> 2.2系統(tǒng)目標(biāo)</b></p><p> 學(xué)生信息管理系統(tǒng)以實(shí)現(xiàn)學(xué)生日常的信息管理為設(shè)計(jì)目標(biāo),加以強(qiáng)大的數(shù)據(jù)庫管理功能,可以方便對(duì)學(xué)生信息
17、進(jìn)行管理,大大提高了學(xué)校日常工作的效率。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)該滿足以下幾點(diǎn):</p><p> 1.采用人機(jī)對(duì)話的操作方式,信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。</p><p> 2.對(duì)學(xué)生信息的操作簡(jiǎn)單,可以方便地進(jìn)行添加、修改和刪除操作。</p><p> 3.可以根據(jù)需要靈活地調(diào)整科目信息。</p><p> 4.可以
18、錄入教師信息,方便任命班級(jí)的班主任。</p><p> 5.編輯考試類別,更靈活地對(duì)學(xué)生測(cè)驗(yàn)。</p><p> 6.打印學(xué)生成績(jī)報(bào)表,更直觀地了解學(xué)生成績(jī)。</p><p> 7.學(xué)生違規(guī)處理,對(duì)違反校規(guī)的學(xué)生進(jìn)行處罰。</p><p> 8.對(duì)用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格地?cái)?shù)據(jù)檢驗(yàn),盡可能排除人為錯(cuò)誤。</p>&l
19、t;p> 2.3 可行性分析 </p><p> 由于本系統(tǒng)的管理對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合采用數(shù)據(jù)庫管理。而且學(xué)校用于學(xué)生管理計(jì)算機(jī)在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫運(yùn)行要求。另一方面此小型管理系統(tǒng)從投入的人力、財(cái)力與物力來講是非常之小的。由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料以及參考其他程序的功能,因此完全可以實(shí)
20、現(xiàn)。</p><p> 第三章 運(yùn)行環(huán)境及系統(tǒng)技術(shù)簡(jiǎn)介 </p><p> 本系統(tǒng)是基于Visual C++ 6.0 編程環(huán)境而開發(fā)的,利用Microsoft SQL Server 2005 建立數(shù)據(jù)庫,通過ODBC訪問數(shù)據(jù)庫。 </p><p> 3.1 Visual C++ 6.0簡(jiǎn)介 </p><p> 本班級(jí)信息管理系
21、統(tǒng)是基于Visual C++ 6.0環(huán)境而進(jìn)行開發(fā)的。Visual C++ 6.0 是Microsoft Visual Studio 6.0 系列組件之一,是微軟公司推出的一款C++集成開發(fā)工具。Visual C++是現(xiàn)在最為通用的開發(fā)工具之一,它提供了相當(dāng)齊備類庫和友好的界面,為數(shù)據(jù)庫開發(fā)提供了比較好的開發(fā)環(huán)境。提供了多種數(shù)據(jù)庫訪問技術(shù),可視化的編程環(huán)境,使操作更加直觀簡(jiǎn)便。因此借助Visual C++可以開發(fā)出功能強(qiáng)大、速度快、應(yīng)用
22、廣泛并且占用資源少的中小型數(shù)據(jù)庫信息管理系統(tǒng)。</p><p> 3.2 Microsoft SQL Server 2005技術(shù)簡(jiǎn)介 </p><p> 本系統(tǒng)以Microsoft SQL Server 2005為后臺(tái)數(shù)據(jù)庫,Microsoft SQL Server 2005就是關(guān)系數(shù)據(jù)庫開發(fā)工具,它是一款比較方便易用的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。所謂的數(shù)據(jù)庫
23、就是由一些有意義和有關(guān)系的數(shù)據(jù)(Data)組成的,一個(gè)數(shù)據(jù)庫中包含了許多條記錄(Record),而每條記錄是由多個(gè)字段(Field)所做成的,不同的字段存放不同的數(shù)據(jù)。所以數(shù)據(jù)庫的嚴(yán)格定義是一組相關(guān)記錄的集合。而字段則是最基本的數(shù)據(jù)項(xiàng),也是數(shù)據(jù)庫中最小的單位。在計(jì)算機(jī)中用來幫助我們管理數(shù)據(jù)庫系統(tǒng),我們稱之為數(shù)據(jù)庫管理系統(tǒng)DataBase Management System(DBMS)。數(shù)據(jù)庫管理系統(tǒng)是架構(gòu)在一個(gè)或多個(gè)數(shù)據(jù)庫之上的,并針對(duì)
24、數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行管理運(yùn)用。</p><p> 3.3 SQL數(shù)據(jù)庫的優(yōu)點(diǎn) </p><p> 1、存儲(chǔ)方式簡(jiǎn)單,易于維護(hù)管理。SQL管理的對(duì)象有表、查詢、窗體、報(bào)表、頁、宏和模塊,以上對(duì)象都存放在后綴為.mdf或.ldf的數(shù)據(jù)庫文件中,便于用戶的操作和管理。 </p><p> 2、面向?qū)ο?SQL是一個(gè)面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)
25、據(jù)庫系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和外圍用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過對(duì)象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡(jiǎn)化了用戶的開發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_發(fā)方式使得開發(fā)應(yīng)用程序更為簡(jiǎn)便。 </p><p> 3、界面友好、易操作。SQL是一個(gè)可視化工具,
26、是風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫向?qū)А⒈硐驅(qū)?、查詢向?qū)А⒋绑w向?qū)?、?bào)表向?qū)У裙ぞ?,使得操作?jiǎn)便,容易使用和掌握。 </p><p> 4、集成環(huán)境、處理多種數(shù)據(jù)信息。SQL基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境。該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開發(fā)人員的作效率,使得建
27、立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。 5、SQL支持ODBC開發(fā)數(shù)據(jù)庫互連Open Data Base Connectivity。利用SQL強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動(dòng)態(tài)的數(shù)據(jù)庫報(bào)表和窗體等。SQL還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪
28、問對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。 </p><p> 6、支持廣泛、易于擴(kuò)展、彈性較大,能夠?qū)⑼ㄟ^鏈接表的方式來打開EXCEL文件、格式化文本文件等。這樣就可以利用數(shù)據(jù)庫的高效率對(duì)其中的數(shù)據(jù)進(jìn)行查詢、處理。還可以通過以Access作為前臺(tái)客戶端,以SQL Server作為后臺(tái)數(shù)據(jù)庫的方式,如ADP開發(fā)大型數(shù)據(jù)庫應(yīng)用系統(tǒng)??傊琒QL是一個(gè)既可以只用來存放數(shù)據(jù)的
29、數(shù)據(jù)庫,也可以作為一個(gè)客戶端開發(fā)工具來進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā),即可以開發(fā)方便易用的小型軟件,也可以用來開發(fā)大型的應(yīng)用系統(tǒng)。</p><p> 3.4 ODBC技術(shù)簡(jiǎn)介</p><p> 開放式數(shù)據(jù)庫互連(Open-DataBase-Connectivity,簡(jiǎn)稱ODBC)。ODBC的基本思想是為用戶提供簡(jiǎn)單、標(biāo)準(zhǔn)、透明的數(shù)據(jù)庫連接的公共編程接口,開發(fā)廠商根據(jù)ODBC的標(biāo)準(zhǔn)去實(shí)現(xiàn)底層的驅(qū)
30、動(dòng)程序,這個(gè)驅(qū)動(dòng)對(duì)用戶是透明的,并允許根據(jù)不同的DBMS采用不同的技術(shù)加以優(yōu)化實(shí)現(xiàn),概括起來,ODBC具有以下靈活的特點(diǎn):</p><p> 1. 使用戶程序有很高的互操作性,相同的目標(biāo)代碼適用于不同的DBMS;</p><p> 2. 由于ODBC的開放性,它為程序集成提供了便利,為客戶機(jī)/服務(wù)器結(jié)構(gòu)提供了技術(shù)支持;</p><p> 3. 由于應(yīng)用與底層網(wǎng)
31、絡(luò)環(huán)境和DBMS分開,簡(jiǎn)化了開發(fā)維護(hù)上的困難。</p><p> 3.5 C++語言簡(jiǎn)介 </p><p> C++語言是一種優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。它在C語言的基礎(chǔ)上發(fā)展而來,但它比C語言更容易為人們學(xué)習(xí)和掌握。C++以其獨(dú)特的語言機(jī)制在計(jì)算機(jī)科學(xué)的各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。面向?qū)ο蟮脑O(shè)計(jì)思想是在原來結(jié)構(gòu)化程序設(shè)計(jì)方法基礎(chǔ)上的一個(gè)質(zhì)的飛躍,C++完美地體現(xiàn)了面向?qū)ο蟮母?/p>
32、種特性。 C++所提供的抽象機(jī)制能夠被應(yīng)用于那些對(duì)效率和可適應(yīng)性具有極高要求的程序設(shè)計(jì)任務(wù)之中。 C++的一個(gè)目標(biāo)就是提供更易用并具有一定承受能力的設(shè)計(jì)思想和程序設(shè)計(jì)技術(shù),進(jìn)一步提高程序的質(zhì)量。然而,C++的設(shè)計(jì)目標(biāo)總還是在于要支持一定范圍內(nèi)的各種程序設(shè)計(jì)風(fēng)格和設(shè)計(jì)思想。這與一般在語言設(shè)計(jì)方面的觀點(diǎn)形成一定對(duì)比。一般在語言設(shè)計(jì)上總是試圖將所有系統(tǒng)內(nèi)建于單獨(dú)一個(gè)被重點(diǎn)支持的、帶有強(qiáng)制性的程序設(shè)計(jì)風(fēng)格之中或稱典范(paradigm)。 C+
33、+提供了class、namespace和訪問控制,使設(shè)計(jì)決策的各異化(locality)成為可能。</p><p> 第四章 系統(tǒng)結(jié)構(gòu)功能分析</p><p> 4.1班級(jí)信息管理系統(tǒng)的功能結(jié)構(gòu)</p><p> 班級(jí)信息管理系統(tǒng)的功能結(jié)構(gòu)如圖4.1所示</p><p> 圖4.1 學(xué)生管理系統(tǒng)功能結(jié)構(gòu)圖</p><
34、;p> 4.2學(xué)生管理系統(tǒng)的業(yè)務(wù)流程圖</p><p> 圖4.2 學(xué)生管理業(yè)務(wù)流程圖</p><p><b> 4.3數(shù)據(jù)庫設(shè)置</b></p><p> 4.3.1.數(shù)據(jù)庫分析</p><p> 在學(xué)生管理系統(tǒng)中由于涉及大量的學(xué)生信息,因此在設(shè)計(jì)該系統(tǒng)時(shí)選擇使用了Microsoft SQL Serve
35、r 2005來滿足系統(tǒng)的要求,數(shù)據(jù)庫的名稱是db_student,在數(shù)據(jù)庫中創(chuàng)建11張表用于存儲(chǔ)不同信息。</p><p> 4.3.2.數(shù)據(jù)庫概念設(shè)置</p><p> 根據(jù)前面的需求分析和系統(tǒng)設(shè)計(jì)規(guī)劃,本系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體對(duì)象分別為管理員實(shí)體、教師信息實(shí)體、學(xué)生信息實(shí)體、違紀(jì)信息實(shí)體、成績(jī)段實(shí)體和成績(jī)信息實(shí)體等,下面將給出幾個(gè)關(guān)鍵實(shí)體的E—R圖。</p><
36、p> 管理員實(shí)體:包括管理員名稱和管理員密碼。管理員實(shí)體E_R如圖4.3所示</p><p> 教師信息實(shí)體:教師信息實(shí)體包括教師編號(hào)實(shí)體、教師姓名實(shí)體、教師性別實(shí)體、所在辦公室實(shí)體、教師文憑實(shí)體和教師職稱實(shí)體,教師信息實(shí)體E_R圖如4.4所示</p><p> 圖4.3 管理員實(shí)體E_R圖 圖4.4 教師信息實(shí)體E_R圖<
37、/p><p> 學(xué)生信息實(shí)體:學(xué)生信息實(shí)體包括學(xué)生編號(hào)實(shí)體、學(xué)生姓名實(shí)體、學(xué)生年齡實(shí)體、學(xué)生性別實(shí)體、聯(lián)系電話實(shí)體、家庭地址實(shí)體和所在班級(jí)實(shí)體。學(xué)生信息實(shí)體E_R圖如圖4.5所示</p><p> 違規(guī)信息實(shí)體:違規(guī)信息實(shí)體包括:違規(guī)編號(hào)實(shí)體、違規(guī)內(nèi)容實(shí)體、處理結(jié)果實(shí)體、備注信息實(shí)體和違規(guī)時(shí)間實(shí)體。違規(guī)信息實(shí)體E_R圖如圖4.6所示</p><p> 圖4.5 學(xué)
38、生信息實(shí)體E_R圖 圖4.6 違規(guī)信息實(shí)體E_R圖</p><p> 成績(jī)等級(jí)實(shí)體:成績(jī)等級(jí)實(shí)體包括等級(jí)名稱實(shí)體、成績(jī)上限實(shí)體、成績(jī)下限實(shí)體、成績(jī)等級(jí)實(shí)體E_R圖如圖4.7所示</p><p> 成績(jī)信息實(shí)體:成績(jī)信息實(shí)體包括學(xué)生編號(hào)實(shí)體、考試科目實(shí)體、考試成績(jī)實(shí)體、考試類別實(shí)體、考試時(shí)間實(shí)體。成績(jī)信息實(shí)體E_R圖如圖4.8所示</p>
39、<p> 圖4.7成績(jī)實(shí)體等級(jí)E_R圖 圖4.8成績(jī)信息實(shí)體E_R圖</p><p> 4.3.3.數(shù)據(jù)庫設(shè)計(jì)邏輯結(jié)構(gòu)</p><p> 下面給出學(xué)生管理系統(tǒng)數(shù)據(jù)庫中主要表的表結(jié)構(gòu)。</p><p> tb_user(管理員信息表):管理員信息表用于保存管理員的信息,如表4.1所示</p&g
40、t;<p> 表4.1 表tb_user的結(jié)構(gòu)</p><p> tb_teacher(教師信息表):用于保存教師的信息,如表4.2所示</p><p> 表4.2 表tb_teacher的結(jié)構(gòu)</p><p> tb_studentinfo(學(xué)生信息表):用于保存學(xué)生的信息,如表4.3所示</p><p> 表4.3
41、 表tb_studentinfo的結(jié)構(gòu)</p><p> tb_regbreakinfo(違規(guī)信息表):用于保存違規(guī)事件的信息,如表4.4所示</p><p> 表4.4 表tb_regbeakinfo的結(jié)構(gòu)</p><p> tb_gradelevel(成績(jī)等級(jí)表):成績(jī)等級(jí)表用于保存學(xué)生成績(jī)等級(jí)信息,如表4.5所示</p><p>
42、 表4.5 表tb_gradelevel的結(jié)構(gòu)</p><p> tb_examinfo_sub(成績(jī)信息表):成績(jī)信息表用于保存學(xué)生的等級(jí)信息,如表4.6所示</p><p> 表4.6 表tb_examinfo_sub的結(jié)構(gòu)</p><p> 4.4.公共類的設(shè)置</p><p> 本系統(tǒng)是由ODBC連接的數(shù)據(jù)源,可以通過CDa
43、tabase類的Open函數(shù)連接數(shù)據(jù)源Open函數(shù)用于創(chuàng)建數(shù)據(jù)源的連接,語法如下:</p><p> virtual BOOL Open(LPCTSTR lpszDSN,BOOL bExclusive=FALSE,BOOL bReadonly FALSE,LPCTSTR lpszConnect=”O(jiān)DBC;”,BOOL bUseCursorLib=TURE);</p><p> Ope
44、n函數(shù)中的參數(shù)說明如表4.7所示。</p><p> 表4.7 Open函數(shù)的參數(shù)說明</p><p> 在CMystudentsysApp類中構(gòu)造一個(gè)CDatabase類對(duì)象,在InitInstance方法中連接數(shù)據(jù)源,代碼如下:</p><p> if(CoInitialize(NULL)!=0) //初始化COM環(huán)境&
45、lt;/p><p><b> {</b></p><p> AfxMessagebox(“初始化COM支持庫失??!”);</p><p><b> exit(1);</b></p><p><b> }</b></p><p><b>
46、try{</b></p><p> CString strConnect;</p><p> strConnect.Format(“DSN=mystudentsys;”); //設(shè)置連接字符串</p><p> //判斷連接數(shù)據(jù)庫是否成功</p><p> if(m_DB.Open(NULL,false,f
47、alse,”O(jiān)DBC;DSN=mystudentsys;UID=Sa;pwd=;”)==0);</p><p><b> {</b></p><p> AfxMessageBox(“Unable to the Specified Data Source”);</p><p> return FALSE;</p><p&
48、gt;<b> }</b></p><p><b> }</b></p><p> catch(CDBRxception *pE)</p><p><b> {</b></p><p> pE—>ReportError();</p><p&g
49、t; pE—>Delete(); //刪除</p><p> return FLASE;</p><p><b> }</b></p><p> 第五章 主體窗設(shè)計(jì)及模塊功能實(shí)現(xiàn)</p><p><b> 5.1主窗體設(shè)計(jì)</b></p><p
50、> “學(xué)生信息管理系統(tǒng)”主窗口由菜單和客戶區(qū)域組成,其中,其中客戶區(qū)域顯示了一幅位圖,主窗體效果如圖5.1所示</p><p> 圖5.1 主窗體效果圖</p><p> 主窗體設(shè)計(jì)步驟如下:</p><p> ?。?)啟動(dòng)Visual C++6.0,選擇“File”/“New”命令,打開“New”對(duì)話框,。</p><p>
51、(2)在“New”對(duì)話框左方的列表視圖中選擇“MFC AppWizard(exe)”選項(xiàng),在“Project name”文本框中輸入工程名稱,在“Location”文本框中設(shè)置工程保存的路徑。單機(jī)“OK”按鈕進(jìn)入“MFC AppWizard-Step 1”對(duì)話框。 (3)單機(jī)“Finish”按鈕完成工程的創(chuàng)建。</p><p> ?。?)在主窗口中放置1個(gè)圖像控件,并導(dǎo)入1幅位圖資源,適當(dāng)調(diào)整圖像控件的位
52、置。</p><p> ?。?)創(chuàng)建一個(gè)菜單資源,并設(shè)置各個(gè)菜單項(xiàng)的ID和名稱。</p><p> ?。?)通過類向?qū)蛑鞔翱谔砑硬藛雾?xiàng)的單擊事件。</p><p> 5.2科目信息管理模塊設(shè)計(jì)</p><p> 5.2.1科目信息管理模塊概述</p><p> 科目信息管理用于維護(hù)科目信息,主要實(shí)現(xiàn)科目的添加,
53、修改和刪除等操作,“科目信息管理”窗口如圖5.2所示</p><p> 圖5.2 科目信息管理</p><p> 5.2.2科目信息管理技術(shù)分析</p><p> 本系統(tǒng)是用ODBC連接的數(shù)據(jù)源,在進(jìn)行對(duì)數(shù)據(jù)表的操作時(shí)可以以CRecordset類為基類派生一個(gè)數(shù)據(jù)表映射類,這樣可以方便地操作數(shù)據(jù)表。派生數(shù)據(jù)表映射類的步驟如何:</p><p
54、> (1)創(chuàng)建一個(gè)與數(shù)據(jù)表映射的類CSubjectinfo,打開“New Class”對(duì)話框,單擊“Add Class”按鈕,在彈出菜單中選擇“New”命令,打開新建類窗口。</p><p> ?。?)在“Name”文本框中輸入類名“CSubjectinfo”,在“Base class”下拉列表框中選擇基類“CREcordset”,單擊“OK”按鈕,打開“Database Options”對(duì)話框。<
55、/p><p> ?。?)在“ODBC”下拉列表框中選擇一個(gè)數(shù)據(jù)源,本例為“mystudentsys”?!癿ystudentsys”是學(xué)生管理系統(tǒng)所需的數(shù)據(jù)源,用于連接tb_subject數(shù)據(jù)庫。</p><p> ?。?)單擊“OK”按鈕,打開“SQL Server登陸”對(duì)話框。</p><p> (5)單擊“確定”按鈕,打開“Select Database Tabl
56、e”對(duì)話框。</p><p> ?。?)選擇“dbo.tb_subject”選項(xiàng),單擊“OK”按鈕創(chuàng)建映射類。</p><p> ?。?)在映射類CSubjectinfo的頭文件中引入afxdb.h頭文件。</p><p> 5.2.3科目信息管理實(shí)現(xiàn)過程</p><p> ?。?)創(chuàng)建一個(gè)對(duì)話框類,打開對(duì)話框?qū)傩源翱?,將?duì)話框的“ID”改
57、為“IDD_DIg_subjectinfo”,將對(duì)話框標(biāo)題改為“科目信息管理”。</p><p> ?。?)向?qū)υ捒蛑刑砑右粋€(gè)群組控件、2個(gè)靜態(tài)文本控件和2個(gè)編輯框控件,各個(gè)控件的屬性設(shè)置如表所示。</p><p> (3)創(chuàng)建一個(gè)工具欄資源“IDR_TOOLBAR_subjectinfo”。</p><p> (4)為創(chuàng)建的對(duì)話框添加一個(gè)類,類名為“CSubj
58、ectdlg”。在該類的頭文件中引入Subjectinfo.h頭文件,使其可以使用映射類CSubjectinfo。</p><p> ?。?)向?qū)υ捒蛑刑砑覱nInitDialog()方法,在對(duì)話框初始化時(shí)創(chuàng)建工具欄并打開本模塊使用的數(shù)據(jù)表,代碼如下:</p><p> BOOL CSubjectdlg::OnInitDialog()</p><p><b&
59、gt; {</b></p><p> CDialog::OnInitDialog();</p><p> //創(chuàng)建工具欄并設(shè)置工具欄屬性</p><p> if(!m_ToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS
60、|CBRS_SIZE_DYNAMIC)||!M_ToolBar.LoadToolBar(IDR_TOOLBAR_subjectinfo))</p><p><b> {</b></p><p> TRACE90(_T(“創(chuàng)建工具條失敗\n”));</p><p> return FALSE;</p><p><
61、;b> }</b></p><p><b> //顯示工具欄</b></p><p> RepositionBars(AFX_IDW_CONTROLBAR_FIRTS,AFX_IDW_CONTROLBAR_LAST,0);</p><p> //設(shè)置工具欄按鈕風(fēng)格</p><p> m_Too
62、lBar.SetButtonStyle(0,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(1,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(2,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(3,TBB
63、S_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(4,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(5,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(6,TBBS_CHECKBOX);</p>&
64、lt;p><b> //設(shè)置SQL語句</b></p><p> CString sqlStr;</p><p> sqlStr="SELECT * FROM tb_subject";</p><p> mysubjectset = new CSubjectinfo(&((CMystudentsysAp
65、p*)AfxGetApp())->m_DB);</p><p> if(!mysubjectset->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)) </p><p><b> {</b></p><p> AfxMessageBox("tb_subject 表打開失敗!");&
66、lt;/p><p><b> }</b></p><p> return TRUE;</p><p><b> }</b></p><p> ?。?)自定義一個(gè)DisplayRecord()方法,在記錄集指針移動(dòng)時(shí)為控件賦值,代碼如下:</p><p> bool CSu
67、bjectdlg::DisplayRecord()</p><p> //判斷是否移動(dòng)到開頭和結(jié)尾</p><p><b> {</b></p><p> if(mysubjectset->IsEOF()&&mysubjectset->IsBOF()) </p><p><b>
68、; {</b></p><p> m_subjectname = ""; //為控件賦空值</p><p> m_subjectid = "";</p><p><b> }</b></p><p><b>
69、 else</b></p><p><b> {</b></p><p> if(mysubjectset->IsBOF()) //如果移動(dòng)到了開頭,就向后移動(dòng)</p><p><b> {</b></p><p> mysubjectset-&
70、gt;MoveNext(); //向下移動(dòng)記錄集指針</p><p><b> }</b></p><p> else //否則前移</p><p><b> {</b></p><p> if(mysu
71、bjectset->IsEOF())</p><p><b> {</b></p><p> mysubjectset->MovePrev(); //向上移動(dòng)記錄集指針</p><p><b> }</b></p><p><b> }</b>&
72、lt;/p><p><b> }</b></p><p> m_subjectname = mysubjectset->m_subject; //為對(duì)應(yīng)的變量賦值</p><p> m_subjectid = mysubjectset->m_code;</p><p> UpdateData(
73、FALSE);</p><p> return TRUE;</p><p><b> }</b></p><p> (7)處理工具欄中的“添加”按鈕的單擊事件,當(dāng)單擊“添加”按鈕時(shí),將清空控件中的數(shù)據(jù),以便用戶進(jìn)行輸入,代碼如下:</p><p> void CSubjectdlg::Onsubjectinfot
74、oolbaradd() </p><p><b> {</b></p><p> //清空控件中的數(shù)據(jù)</p><p> m_subjectname = "";</p><p> m_subjectid = "";</p><p> Updat
75、eData(FALSE);</p><p><b> }</b></p><p> (8)處理工具欄中的“保存”按鈕的單擊事件,當(dāng)單擊“保存”按鈕時(shí),將控件中的數(shù)據(jù)保存到數(shù)據(jù)庫中,代碼如下:</p><p> void CSubjectdlg::Onsubjectinfotoolbarsave() </p><p>
76、;<b> {</b></p><p> UpdateData(TRUE); //更新控件信息</p><p> //判斷控件中的數(shù)據(jù)是否為空</p><p> if(m_subjectname.IsEmpty()||m_subjectid.IsEmpty())</p>
77、<p><b> {</b></p><p> AfxMessageBox("請(qǐng)輸入相應(yīng)的數(shù)據(jù)!");</p><p><b> return ;</b></p><p><b> }</b></p><p><b> //設(shè)置
78、SQL數(shù)據(jù)</b></p><p> CString sqlStr_findid;</p><p> sqlStr_findid = "SELECT * FROM tb_subject WHERE tb_subject.code='"+m_subjectid+"' ";</p><p> my
79、subjectset_find = new CSubjectinfo(&((CMystudentsysApp*)AfxGetApp())->m_DB);</p><p><b> //打開數(shù)據(jù)表</b></p><p> if(!mysubjectset_find->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_fin
80、did))</p><p><b> {</b></p><p> AfxMessageBox("tb_subject 打開失敗!");</p><p><b> }</b></p><p> //判斷記錄集中是否有要保存的數(shù)據(jù)信息</p><p>
81、; if(mysubjectset_find->GetRecordCount()!=0)</p><p><b> {</b></p><p> AfxMessageBox("科目代碼不能重復(fù),請(qǐng)修改后再輸入!");</p><p> if(mysubjectset_find->IsOpen())
82、 //判斷數(shù)據(jù)表是否打開</p><p><b> {</b></p><p> mysubjectset_find->Close(); //關(guān)閉數(shù)據(jù)表</p><p> delete mysubjectset_find;
83、 //釋放指針</p><p><b> }</b></p><p><b> return;</b></p><p><b> }</b></p><p> if(mysubjectset_find->IsOpen())
84、 //判斷數(shù)據(jù)表是否打開</p><p><b> {</b></p><p> mysubjectset_find->Close(); //關(guān)閉數(shù)據(jù)表</p><p> delete mysubjectset_find; //釋
85、放指針</p><p><b> } </b></p><p> mysubjectset->AddNew(); //調(diào)用添加記錄的函數(shù)出理</p><p> mysubjectset->m_subject = m_subjectname; //為記
86、錄中的字段賦值</p><p> mysubjectset->m_code = m_subjectid;</p><p><b> try</b></p><p><b> {</b></p><p> mysubjectset->Update();
87、 //更新記錄集</p><p> mysubjectset->Requery(); //刷新記錄集</p><p> AfxMessageBox("成功保存數(shù)據(jù)!");</p><p><b> }</b>&l
88、t;/p><p> catch( CDBException* e )</p><p><b> {</b></p><p> AfxMessageBox( e->m_strError,MB_ICONEXCLAMATION );</p><p> e->Delete();</p><p&
89、gt;<b> }</b></p><p> DisplayRecord(); //¸更新顯示</p><p><b> }</b></p><p> (9)處理工具欄中的“刪除”按鈕的單擊事件,當(dāng)單擊“刪除”按鈕時(shí),將控
90、件中的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)庫中的記錄刪除,代碼如下:</p><p> void CSubjectdlg::Onsubjectinfotoolbardel() </p><p><b> {</b></p><p> // 設(shè)置SQL語句</p><p> CString sqlStr_findid;</p>
91、;<p> sqlStr_findid="SELECT*FROMtb_class_subject WHERE tb_class_subject.code='"+m_subjectid+"' ";</p><p> myclass_subject_findref=newCClass_subjectset(&((CMystudentsy
92、sApp*)AfxGetApp())->m_DB);</p><p><b> //打開數(shù)據(jù)表</b></p><p> if(!myclass_subject_findref->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid))</p><p><b> {</b>
93、</p><p> AfxMessageBox("tb_class_subject 表打開失敗!");</p><p><b> }</b></p><p> //判斷記錄集中是否有要保存的數(shù)據(jù)信息</p><p> if(myclass_subject_findref->GetReco
94、rdCount() != 0)</p><p><b> {</b></p><p> AfxMessageBox("科室名稱在<班級(jí)科目表>里有引用,不能刪除!");</p><p> if(myclass_subject_findref->IsOpen()) //
95、判斷數(shù)據(jù)表是否打開</p><p><b> {</b></p><p> myclass_subject_findref->Close(); //關(guān)閉數(shù)據(jù)表</p><p> delete myclass_subject_findref; //釋放指針<
96、;/p><p><b> }</b></p><p><b> return;</b></p><p><b> }</b></p><p> if(myclass_subject_findref->IsOpen()) //判斷數(shù)據(jù)表是否
97、打開</p><p><b> {</b></p><p> myclass_subject_findref->Close(); //關(guān)閉數(shù)據(jù)表</p><p> delete myclass_subject_findref; //釋放指針</p><
98、;p><b> } </b></p><p> mysubjectset->Delete(); //刪除記錄</p><p> mysubjectset->Requery(); //刷新記錄</p><p>
99、 DisplayRecord(); </p><p> } (10)分別處理工具欄中的“第一條”、“上一條”、“下一條”、和“末一條”按鈕的單擊事件,當(dāng)工具欄按鈕按下時(shí),實(shí)現(xiàn)顯示“第一條”、“上一條”、“下一條”和“末一條”記錄的功能,代碼如下:</p><p> void CSubjectdlg::Onsubjectinfotoolbarfirst() </p>&
100、lt;p><b> {</b></p><p> if(!mysubjectset->IsBOF())</p><p><b> {</b></p><p> mysubjectset->MoveFirst(); //移動(dòng)到第一條記錄</p><p> DisplayRe
101、cord(); //¸更新窗口顯示</p><p><b> }</b></p><p><b> }</b></p><p> void CSubjectdlg::Onsubjectinfotoolbarlast() </p><p><b> {&
102、lt;/b></p><p> if(!mysubjectset->IsEOF())</p><p><b> {</b></p><p> mysubjectset->MoveLast(); //移動(dòng)到末一條記錄</p><p> DisplayRecord(); /
103、/更新窗口顯示</p><p><b> }</b></p><p><b> }</b></p><p> void CSubjectdlg::Onsubjectinfotoolbarnext() </p><p><b> {</b></p><
104、p> // TODO: Add your command handler code here</p><p> if(!mysubjectset->IsEOF())</p><p><b> {</b></p><p> mysubjectset->MoveNext(); //移動(dòng)到下一條記錄</p>
105、;<p> DisplayRecord(); //更新窗口顯示</p><p><b> } </b></p><p><b> }</b></p><p> void CSubjectdlg::Onsubjectinfotoolbarpre() </p>
106、<p><b> {</b></p><p> // TODO: Add your command handler code here</p><p> if(!mysubjectset->IsBOF())</p><p><b> {</b></p><p> mys
107、ubjectset->MovePrev(); //移動(dòng)到上一條記錄</p><p> DisplayRecord(); //更新窗口顯示</p><p><b> } </b></p><p><b> }</b></p><p> (
108、11)處理對(duì)話框的WM_CLOSE事件,當(dāng)窗口關(guān)閉時(shí),斷開與數(shù)據(jù)表的連接,并且釋放指針,代碼如下:</p><p> void CSubjectdlg::OnClose() </p><p><b> {</b></p><p> if(mysubjectset->IsOpen()) //判斷數(shù)據(jù)表是否打開
109、</p><p><b> {</b></p><p> mysubjectset->Close(); //關(guān)閉數(shù)據(jù)表</p><p> delete mysubjectset; //釋放指針</p><p><b> }</b><
110、;/p><p> CDialog::OnClose();</p><p><b> }</b></p><p> 5.3學(xué)生信息管理模塊設(shè)計(jì)</p><p> 5.3.1學(xué)生信息管理模塊概述</p><p> 信息管理用于設(shè)置學(xué)生的基本信息,主要表現(xiàn)對(duì)學(xué)生信息的添加、修改和刪除等操作,“學(xué)生
111、信息管理”界面如圖5.3所示</p><p> 圖5.3 學(xué)生信息管理</p><p> 修改記錄使用CRecordset類的Edit函數(shù),調(diào)用了Edit函數(shù)以后,就可以重新設(shè)定當(dāng)前記錄中的每個(gè)字段的值了,但是這時(shí)修改的記錄值只是被保存起來,只有在調(diào)用了CRecordset類的Updata函數(shù)以后才修改,否則不對(duì)記錄作修改。</p><p> 刪除記錄需要使用
112、CRecordset類的Delete函數(shù),并且在調(diào)用Delete函數(shù)之后不需要再調(diào)用Updata函數(shù),但是在調(diào)用Delete函數(shù)時(shí),記錄集中必須具有有效記錄。</p><p> 5.3.2學(xué)生信息管理實(shí)現(xiàn)過程</p><p> (1)創(chuàng)建一個(gè)對(duì)話框,打開對(duì)話框?qū)傩源翱?,將?duì)話框的“ID”改為“IDD_DIginfostudent”將對(duì)話框的標(biāo)題改為“學(xué)生信息管理”。</p>
113、<p> ?。?)向?qū)υ捒蛑刑砑右粋€(gè)組群控件、七個(gè)靜態(tài)文本控件和七個(gè)編輯框控件,各控件的屬性設(shè)置如表所示</p><p> 表 控件的資源設(shè)置</p><p> (3)以CRecordset類為基類派生一個(gè)CStudentinfoset類,具體步驟請(qǐng)參考中的是實(shí)現(xiàn)過程。</p><p> ?。?)向?qū)υ捒蛑刑砑覱nInitDialog()方法在對(duì)
114、話框初始化時(shí)創(chuàng)建工具欄并打開本模塊使用的數(shù)據(jù)表,代碼如下:</p><p> BOOL CInfoStudent::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p><b> //創(chuàng)建工具欄</
115、b></p><p> if(!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_TOP</p><p> |CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC)</p><p> ||!m_ToolBar.LoadToolBar(IDR_
116、TOOLBAR_subjectinfo))</p><p><b> {</b></p><p> TRACE0(_T("創(chuàng)建工具條失敗\n"));</p><p> return FALSE;</p><p><b> }</b></p><p>
117、;<b> //顯示工具欄</b></p><p> RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);</p><p> m_ToolBar.SetButtonStyle(0,TBBS_CHECKBOX);</p><p> m_ToolBar.S
118、etButtonStyle(1,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(2,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(3,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(4,TBBS_CHEC
119、KBOX);</p><p> m_ToolBar.SetButtonStyle(5,TBBS_CHECKBOX);</p><p> m_ToolBar.SetButtonStyle(6,TBBS_CHECKBOX);</p><p><b> //設(shè)置SQL語句</b></p><p> CString sq
120、lStr;</p><p> sqlStr="SELECT * FROM tb_studentinfo";</p><p> mystudentset = new CStudentinfoset(&((CMystudentsysApp*)AfxGetApp())->m_DB);</p><p> if(!mystudentse
121、t->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)) //´打開數(shù)據(jù)表</p><p><b> {</b></p><p> AfxMessageBox("tb_studentinfo表打開失敗!");</p><p><b> }</b></p
122、><p> return TRUE;</p><p> ?。?)自定義一個(gè)DisplayRecrod()方法,在記錄集指針移動(dòng)時(shí)為控件賦值,代碼如何:</p><p> bool CInfoStudent::DisplayRecord()</p><p><b> {</b></p><p>
123、 if(mystudentset->IsBOF()&&mystudentset->IsEOF())//判斷記錄集中是否有數(shù)</p><p><b> { </b></p><p> //情況數(shù)據(jù)中的數(shù)據(jù)</p><p> m_studentaddr = "";</p>&
124、lt;p> m_studentage = 0.0f;</p><p> m_studentclass = "";</p><p> m_studentname = "";</p><p> m_studentphone = "";</p><p> m_stud
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于vc++的班級(jí)信息管理系統(tǒng)畢業(yè)論文
- 基于vc++的班級(jí)信息管理系統(tǒng)_畢業(yè)論
- vc++賓館管理管理系統(tǒng)畢業(yè)論文
- 班級(jí)信息管理系統(tǒng)(畢業(yè)論文)
- 基于vc++的學(xué)生信息管理系統(tǒng)課設(shè)報(bào)告
- 畢業(yè)論文---基于vc教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- [vc++畢設(shè)]vc++06全國(guó)天氣信息管理系統(tǒng)
- [vc++畢設(shè)]vc++醫(yī)藥管理系統(tǒng)+論文
- [vc++畢設(shè)]vc++經(jīng)濟(jì)管理出版社期刊書目信息管理系統(tǒng)
- vc++火車票信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- [vc++畢設(shè)]vc++航空檢票系統(tǒng)+論文
- [vc++畢設(shè)]vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)(源碼+論文)
- 教師信息管理系統(tǒng)——畢業(yè)論文
- 校友信息管理系統(tǒng)---畢業(yè)論文
- 期刊信息管理系統(tǒng)——畢業(yè)論文
- 車間信息管理系統(tǒng)畢業(yè)論文
- 超市信息管理系統(tǒng)畢業(yè)論文
- 學(xué)生信息管理系統(tǒng) 畢業(yè)論文
- 學(xué)生信息管理系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文---學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論