《數(shù)據(jù)庫(kù)課程設(shè)計(jì)》報(bào)告學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
《《數(shù)據(jù)庫(kù)課程設(shè)計(jì)》報(bào)告學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫(kù)課程設(shè)計(jì)》報(bào)告學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)(50頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)庫(kù)課程設(shè)計(jì) 華科學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 《數(shù)據(jù)庫(kù)課程設(shè)計(jì)》報(bào)告 (2007/2008學(xué)年 第一學(xué)期) 學(xué)生姓名: 學(xué)生班級(jí): 學(xué)生學(xué)號(hào): 指導(dǎo)教師: 2007年12月29日 目錄 第一章 學(xué)生成績(jī)管理系統(tǒng)概述 3 1.1 開(kāi)發(fā)背景及意義 3 1.2 運(yùn)行環(huán)境 3 第二章 需求分析 4 2.1 可行性分析 4 1設(shè)計(jì)思想 4 2技術(shù)可行性 4 3環(huán)境可行性
2、 4 2.2 系統(tǒng)需求 4 1功能需求 4 2性能要求 5 2.3 數(shù)據(jù)流程圖 5 2.4 數(shù)據(jù)字典 6 第三章 概念結(jié)構(gòu)設(shè)計(jì) 8 3.1 實(shí)體E-R圖 8 3.2 實(shí)體之間關(guān)系E-R圖 9 3.3 課程管理模塊設(shè)計(jì) 11 3.4 學(xué)生資料管理模塊 11 第四章 邏輯結(jié)構(gòu)設(shè)計(jì) 13 第五章 物理設(shè)計(jì)及實(shí)施 15 5.1 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 15 5.2 相關(guān)模塊數(shù)據(jù)庫(kù)設(shè)計(jì) 15 第六章 系統(tǒng)設(shè)計(jì)及主要界面介紹 17 6.1各主要界面介紹 17 6.1.1 登陸界面 17 6.1.2 系統(tǒng)主要界面 17 6.2 編碼實(shí)現(xiàn): 22 6.2.1 連接數(shù)據(jù)庫(kù)及網(wǎng)絡(luò)函
3、數(shù)申明 22 6.2.2 登陸界面實(shí)現(xiàn) 24 6.2.3 主界面代碼如下 25 6.2.4 成績(jī)錄入界面代碼 29 6.2.5 成績(jī)修改界面 32 6.2.6 成績(jī)查詢 36 6.2.7 用戶注冊(cè) 39 附錄1 使用說(shuō)明 42 附錄2 Db_score.sql 內(nèi)容 42 參考文獻(xiàn) 48 第一章 學(xué)生成績(jī)管理系統(tǒng)概述 1.1 開(kāi)發(fā)背景及意義 在教育普及日趨完善的今天,一個(gè)學(xué)校擁有上萬(wàn)人已經(jīng)很普遍,上萬(wàn)個(gè)學(xué)生的數(shù)據(jù)匯集在一起,對(duì)學(xué)校信息的管理者而言其工作的龐雜和繁瑣程度是相當(dāng)巨大的,如果只靠人工管理往往
4、為了改一條數(shù)據(jù)就要翻查所有相關(guān)的資料,不僅容易產(chǎn)生錯(cuò)誤,而且造成時(shí)間和人力很大的浪費(fèi),在網(wǎng)絡(luò)普及的今天,無(wú)紙化辦公已經(jīng)成為一種新的趨勢(shì),在極短的時(shí)間內(nèi)讓學(xué)校變成無(wú)紙化辦公的場(chǎng)所是不現(xiàn)實(shí)的,但我們可以一步一步向這個(gè)方向發(fā)展。 經(jīng)過(guò)仔細(xì)分析以后,學(xué)校的學(xué)生成績(jī)管理是學(xué)校龐大數(shù)據(jù)中的一角,編寫(xiě)個(gè)學(xué)生成績(jī)管理系統(tǒng)來(lái)關(guān)學(xué)生的成績(jī)有很大的意義。 1、 主要方便教師對(duì)學(xué)生成績(jī)的管理:教師只需坐在計(jì)算機(jī)前即可完成對(duì)學(xué)生成績(jī)、課程及學(xué)生資料的管理,不用在各個(gè)辦公室來(lái)回取送文件了。 2、 減少數(shù)據(jù)出錯(cuò):人工對(duì)數(shù)據(jù)的管理產(chǎn)生錯(cuò)誤是無(wú)法避免的,一旦產(chǎn)生錯(cuò)誤,更正起來(lái)十分困難,使用本系統(tǒng)后可以減少出錯(cuò)的幾率,
5、修改錯(cuò)誤也十分方便。 3、 節(jié)約資源:系統(tǒng)普及后可以節(jié)約大量用來(lái)紀(jì)錄學(xué)生信息的紙張,可以減少以用來(lái)管理學(xué)生的人手,節(jié)約了物質(zhì)資源和人力資源,從而節(jié)約了學(xué)校的開(kāi)支。 1.2 運(yùn)行環(huán)境 1、裝有WIN98以上的操作系統(tǒng)的個(gè)人電腦 2、安裝Access或 SQL Server其中一種數(shù)據(jù)庫(kù)。 第二章 需求分析 2.1 可行性分析 1設(shè)計(jì)思想 當(dāng)今社會(huì)的信息流量越來(lái)越大,信息交流的效率顯得尤為重要。無(wú)紙化辦公已經(jīng)成為社會(huì)各工作場(chǎng)所必須具備的條件了。 一個(gè)有用幾千人乃至上萬(wàn)人的學(xué)校,要對(duì)每個(gè)學(xué)生的資料、成績(jī)、課程等數(shù)據(jù)進(jìn)行管理,其信息量很大,如果通過(guò)人工管理的
6、話將是一項(xiàng)十分巨大的工作,而且容易出錯(cuò)。我們?cè)O(shè)計(jì)了這套系統(tǒng)為了能讓教師更輕松地對(duì)學(xué)生的成績(jī)、課程、學(xué)生資料進(jìn)行管理,查詢成績(jī),將大大簡(jiǎn)化學(xué)生資料、成績(jī)和課程的添加、修改、查詢等管理的手續(xù)和時(shí)間,從而減輕了教師的工作負(fù)擔(dān)和繁瑣。 2技術(shù)可行性 C/S 模式的客戶端需要安本裝軟件通過(guò)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)就可以得到所需信息,比其他方式更容易管理,符合使用者對(duì)使用系統(tǒng)的要求。為我們提供了系統(tǒng)設(shè)計(jì)的基本思想,為我們提供了系統(tǒng)設(shè)計(jì)的基本方向。 3環(huán)境可行性 現(xiàn)在學(xué)校教師已經(jīng)普遍配有計(jì)算機(jī),而且采用的是C/S模式,不需要為客戶安裝什么特殊的軟件,甚至不要求計(jì)算機(jī)能上網(wǎng)的要求。 2.2 系統(tǒng)需
7、求 1功能需求 整個(gè)系統(tǒng)共劃分為學(xué)生成績(jī)管理、學(xué)生資料管理、課程管理、登陸信息管理和用戶管理五大模塊,其中課程管理模塊提供用戶對(duì)課程的基本管理功能,包括課程的添加、修改、刪除和瀏覽。學(xué)生資料管理模塊提供用戶對(duì)學(xué)生資料的基本管理功能,包括學(xué)生資料的添加、修改、刪除和查詢。系統(tǒng)功能層次圖如圖2-1所示。 成績(jī)管理系統(tǒng) 學(xué)生資料管理 用戶管理 登陸信息管理 課程管理 學(xué)生成績(jī)管理 圖 2.1系統(tǒng)功能層次圖 2性能要求 所開(kāi)發(fā)的系統(tǒng)能在安裝有WIN98以后的系統(tǒng)上正常運(yùn)行,數(shù)據(jù)庫(kù)文件的查詢修改所需響應(yīng)時(shí)間不能大于10秒。 要求系統(tǒng)能對(duì)數(shù)據(jù)庫(kù)信息的基本保密,并對(duì)超級(jí)管理員提供
8、對(duì)數(shù)據(jù)庫(kù)的直接修改功能,對(duì)不同的對(duì)象提供不同的權(quán)限資格,讓使用者不能越權(quán)修改資料,并且要求數(shù)據(jù)的唯一,不能產(chǎn)生數(shù)據(jù)重復(fù)輸入的情況。對(duì)于源代碼能保密,出現(xiàn)問(wèn)題后能及時(shí)的做出相應(yīng)的調(diào)整。 要求客戶機(jī)上有安裝Access或 SQL Server等數(shù)據(jù)庫(kù)。 2.3 數(shù)據(jù)流程圖 如下圖2.2所示 圖 2.2 數(shù)據(jù)流程圖 2.4 數(shù)據(jù)字典 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。本軟件的相關(guān)數(shù)據(jù)字典如表2-1下: 表2-1 數(shù)據(jù)字典 名字:學(xué)生信息記錄 別名:
9、描述:描述學(xué)生的具體信息的信息表 定義:學(xué)生信息記錄 = 學(xué)號(hào) + 姓名 + 性別 + 年齡 + 班級(jí) 位置:登陸用戶信息表(tb_login) 學(xué)生信息表(tb_stuInfo) 名字:教師注冊(cè)表 別名:系統(tǒng)登陸用戶信息 描述:教師注冊(cè)為本系統(tǒng)的合法用戶時(shí),所提供給用戶的信息。 定義:教師注冊(cè)表 = 系統(tǒng)ID + 教師號(hào) + 姓名 + 性別 + 院系 位置:登陸用戶信息表(tb_login) 教師信息表(tb_teacherInfo) 名字:課程安排表記錄 別名: 描述:記錄課程安排的信息表 定義:課程安排
10、表記錄 = 科目號(hào) + 科目名 + 上課時(shí)間 + 上課地點(diǎn) 位置:課程安排表(tb_claInfo) 數(shù)據(jù)項(xiàng)描述: 系統(tǒng)ID = 教師登陸用戶名 | 管理員登陸用戶名 | 學(xué)生登陸用戶名 教師登陸用戶名 = 0{字母或數(shù)字}12 管理員登陸用戶名 = 0{字母或數(shù)字}12 學(xué)生登陸用戶名 = 學(xué)號(hào) 學(xué)號(hào) = 12{數(shù)字字符}12 第三章 概念結(jié)構(gòu)設(shè)計(jì) 3.1 實(shí)體E-R圖 E-R圖(Entity-Relationship Diagran)是用來(lái)描述現(xiàn)實(shí)世界的概念模型。 本系統(tǒng)的主要E-R圖3.1 ~ 圖3.6所示: 管理員 姓名 性別
11、 系統(tǒng)ID 圖3.1 管理員實(shí)體E-R圖 教師 教師號(hào) 姓名 性別 系統(tǒng)ID 圖3.2 教師實(shí)體E-R圖 姓名 學(xué)號(hào) 性別 年齡 班級(jí) 學(xué)生 圖3.3 學(xué)生教師實(shí)體E-R圖 姓名 學(xué)號(hào) 課程名 表號(hào) 班級(jí) 成績(jī) 圖3.4 成績(jī)實(shí)體E-R圖 課程 課程號(hào) 課程名 圖3.5 課程實(shí)體E-R圖 院系 籍貫 入學(xué)時(shí)間 專業(yè) 班級(jí) 學(xué)生資料 政治面貌 最高學(xué)歷 圖3.6 學(xué)生資料實(shí)體E-R圖 3.2 實(shí)體之間關(guān)系E-
12、R圖 圖 3.7實(shí)體之間關(guān)系E-R圖 PS:管理員和學(xué)生、教師之間是管理的關(guān)系,由管理員管理學(xué)生和教師的權(quán)限。管理員具有最高權(quán)利,并管理課程安排;也可以對(duì)學(xué)生資料和學(xué)生成績(jī)進(jìn)行管理。 教師和成績(jī)、學(xué)生資料之間是管理的關(guān)系,由教師對(duì)成績(jī)、學(xué)生資料的添加、刪除、修改等功能進(jìn)行管理;與課程是查詢關(guān)系,教師只能查詢課程安排。 學(xué)生和課程、成績(jī)、學(xué)生資料之間是查詢的關(guān)系,學(xué)生在課程、成績(jī)、學(xué)生資料的模塊中查詢信息。 3.3 課程管理模塊設(shè)計(jì) 權(quán)限設(shè)計(jì):權(quán)限為2的使用者為學(xué)生,權(quán)限為1的使用者為教師,權(quán)限為0的使用者為管理員。 課程管理模塊:能提供基本的課程管理功能:添加課程
13、、修改課程、刪除課程、瀏覽課程,每個(gè)功能的具體要求如下: 課程管理功能層次圖如圖3.2所示: 課程管理模塊 課程添加 課程修改 課程查詢 課程刪除 圖3.2 課程管理功能層次圖 添加課程:為權(quán)限為0的用戶提供課程添加功能,要求能添加課編號(hào)、課程名稱。 修改課程:為權(quán)限達(dá)為0的用戶提供課程修改功能,為了保證課程編號(hào)唯一,只能修改課程名稱,不能對(duì)課程編號(hào)進(jìn)行修改,如果要修改課程編號(hào),請(qǐng)先刪除課程,再添加對(duì)應(yīng)課程的編號(hào)和名稱。 刪除課程:為權(quán)限為0的用戶提供課程刪除功能,選擇要?jiǎng)h除的課程編號(hào),顯示出該課程的相關(guān)信息,確認(rèn)后刪除課程。 瀏覽課程:為所有用戶提供課程瀏覽功能,
14、將所有課程信息以表格的形式顯示到新窗體上。 3.4 學(xué)生資料管理模塊 學(xué)生信息管理模塊:記錄學(xué)生基本信息,包括學(xué)生的學(xué)號(hào)、姓名、性別、出生日期、所在院系、專業(yè)、聯(lián)系方式以及備注信息,對(duì)學(xué)生的基本資料進(jìn)行添加、修改、刪除、查詢等基本的管理操作。 學(xué)生資料管理功能層次圖3.3所示 學(xué)生資料管理模塊 學(xué)生資料添加 學(xué)生資料修改 學(xué)生資料查詢 學(xué)生資料刪除 圖3.3 學(xué)生資料管理功能層次圖 添加學(xué)生信息:為權(quán)限是1或0的用戶提供學(xué)生信息添加功能,要求能添加學(xué)生資料的所有項(xiàng),并且確保學(xué)生學(xué)號(hào)的唯一性。 修改學(xué)生信息:為權(quán)限是1或0的用戶提供學(xué)生信息修改功能,輸入要修改的學(xué)生
15、學(xué)號(hào)后生成修改學(xué)生資料的頁(yè)面,并在上面進(jìn)行修改操作,要求能修改學(xué)生資料。 刪除學(xué)生信息:為權(quán)限是1或0的用戶提供學(xué)生信息刪除功能,要求在輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)后生成刪除學(xué)生資料的頁(yè)面,使用者得到確認(rèn)后,徹底的刪除改學(xué)生的所有資料。 查詢學(xué)生信息:為所有用戶提供學(xué)生資料查詢功能,能提供不同類型的查詢,包括全部查詢、所在專業(yè)、班級(jí)、學(xué)號(hào)、姓名的查詢,在選擇選項(xiàng)并輸入相應(yīng)的數(shù)值后,生成學(xué)生的資料。 第四章 邏輯結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。本系統(tǒng)的邏輯結(jié)構(gòu)如下圖4.1
16、~ 圖4.4所示: 圖4.1 tb_login 登陸用戶基本信息表 圖4.2 tb_score 學(xué)生成績(jī)基本信息表 圖4.3 tb_stuinfo 學(xué)生基本信息表 圖4.4 tb_clas 課程基本信息表 第五章 物理設(shè)計(jì)及實(shí)施 5.1 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)包括用戶表、課程表、成績(jī)表、學(xué)生資料表,在每個(gè)表中要求能紀(jì)錄相應(yīng)的基本信息,并做到分類和自動(dòng)排序。在設(shè)計(jì)過(guò)程中,本機(jī)調(diào)試時(shí)采用了SQL數(shù)據(jù)庫(kù)。 5.2 相關(guān)模塊數(shù)據(jù)庫(kù)設(shè)計(jì) 1 系統(tǒng)用戶表記錄的系統(tǒng)登陸用戶的信息: 登陸用戶資料表(tb_login) 如
17、圖5.1所示:(以下所有圖,為了方便截圖,建立表語(yǔ)句后,加了個(gè)select 語(yǔ)句,所以有顯示批查詢完成) 圖5.1 登陸用戶表 2 學(xué)生成績(jī)表記錄了學(xué)生各科成績(jī) 學(xué)生成績(jī)表(tb_score)如圖5.2所示: 圖5.2 學(xué)生成績(jī)表 3 課程表紀(jì)錄了課程的基本信息: 課程資料表(tb_course)如圖5.3所示 圖5.3 課程資料表 4、學(xué)生資料表記錄了學(xué)生的基本信息: 學(xué)生資料表如圖5.4所示: 圖5.4 學(xué)生資料表 第六章 系統(tǒng)設(shè)計(jì)及主要界面介紹 6.1各主要界面介紹 6.1.1 登陸界面 ――登陸界面Frm_login如圖6.1
18、所示: 圖6.1 登陸界面 6.1.2 系統(tǒng)主要界面 (本系統(tǒng)的主界面具體的實(shí)際功能只有修改密碼,主要是起和后邊各個(gè)窗體連接作用,相當(dāng)于導(dǎo)航器,功能不可小視^ ^,界面設(shè)計(jì)全是自己用photoshop等軟件自己設(shè)計(jì)的,所有素材保留在本程序目錄下的skin文件夾中) 系統(tǒng)主要界面Frm_tmain --系統(tǒng)簡(jiǎn)介如圖6.2所示: 圖6.2 系統(tǒng)簡(jiǎn)介 --系統(tǒng)幫助如圖6.3所示: (主要是連接了些網(wǎng)上關(guān)于vb6.0和sql server 2000的資料,沒(méi)有自己設(shè)置窗體和文本) 圖6.3 幫助主題 --更改密碼界面如圖6.4所示: 圖6.4 更改密碼
19、 ――成績(jī)查詢界面如圖6.5所示下:(查詢中也還有其他按紐功能,大體相同,不一一介紹) 圖6.5 成績(jī)查詢 ――成績(jī)查詢結(jié)果顯示如下如圖6.6所示 (注:為了方便檢查我在數(shù)據(jù)庫(kù)中加入了本班部分同學(xué)的信息,各個(gè)窗體的相關(guān)標(biāo)簽是相互關(guān)聯(lián)的,如上邊查詢的是200522030109,點(diǎn)擊查詢得到以下表中的信息,下同) 圖6.6 成績(jī)查詢結(jié)果 ――成績(jī)錄入界面如如圖6.7所示 圖6.7 錄入成績(jī) ――選擇相應(yīng)的科目和班級(jí)提交后得到以下頁(yè)面如圖6.8所示 圖6.8 錄入成績(jī)表格 ――信息修改界面如下如圖6.9所示 圖6.9 修改信息
20、 ――選擇相應(yīng)的科目和班級(jí)提交后得到以下頁(yè)面:在此錄入修改信息,如下圖6.10所示 圖6.10 修改成績(jī)表格 --以下是注冊(cè)信息表如圖6.11所示 圖6.11 注冊(cè)界面(兩個(gè)) 6.2 編碼實(shí)現(xiàn): 6.2.1 連接數(shù)據(jù)庫(kù)及網(wǎng)絡(luò)函數(shù)申明 這是兩模塊:modSql和toInternet的代碼(為了方便后邊的代碼方便簡(jiǎn)單,就把這兩個(gè)常用部分,定義了兩個(gè)單獨(dú)模塊)如下:代碼簡(jiǎn)單,不一一解釋了 模塊一:ModSql: Public Function ExecuteSql(ByVal strSql As String) As ADODB.Recordset O
21、n Error GoTo ExecuteSql_Error 處理錯(cuò)誤 Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset cnn.Open "filedsn=db_score.dsn;uid=sa;pwd=" rst.Open Trim$(strSql), cnn, adOpenKeyset, adLockOptimistic Set
22、ExecuteSql = rst ExecuteSql_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSql_Error: Msgbox ("數(shù)據(jù)哭操作失敗,請(qǐng)檢查數(shù)據(jù)源配置!"),vbokonly Resume ExecuteSql_Exit End Function 模塊二:toInternet: Rem 連接網(wǎng)絡(luò)^ ^.....................api函數(shù)~ Public Declare Function ShellExecute Lib
23、 "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Public Const SW_SHOWNORMAL = 1 Public Sub toWeb(ByVal URL As String) Dim Sus As Long Sus = She
24、llExecute(Handle, vbNullString, URL, vbNullString, nil, SW_SHOWNORMAL) End Sub 6.2.2 登陸界面實(shí)現(xiàn) 其中有關(guān)代碼如下: Option Explicit Private Sub CmdAdmin_Click() MsgBox "I am sorry! You are not the admin....", vbOKOnly + vbExclamation, "HKjsj052201h" End Sub Private Sub CmdEnter_Click() Dim st
25、rSql As String sql查詢語(yǔ)句 Dim rst As New ADODB.Recordset If Trim(TxtUser.Text) = "" Then MsgBox "請(qǐng)輸入正確的用戶名!", vbOKOnly + vbExclamation, "警告" TxtUser.SetFocus Else strSql = "select * from tb_login where userid =" & TxtUser.Text & " " Set r
26、st = ExecuteSql(strSql) If rst.EOF = True Then MsgBox "用戶名不存在,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "警告" Set rst = ExecuteSql(strSql) TxtUser.SetFocus Else If Trim(rst.Fields("userpwd")) = Trim(TxtPwd.Text) Then rst.C
27、lose Me.Hide Frm_tMain.Show Else MsgBox "密碼不正確,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "警告" TxtPwd.Text = "" TxtPwd.SetFocus End If End If End If End Sub Private Sub CmdNewuse
28、r_Click() Frm_Login.Hide Frm_Regester.Show End Sub 6.2.3 主界面代碼如下 Private Sub CmdAddStu_Click() FmeAdd.Visible = True Frmcla04.Visible = False End Sub Private Sub CmdAlterScore04_Click() FmeAdd.Visible = False Frmcla04.Visible = True End Sub Private Sub CmdCan
29、01_Click() TxtYuanxi01 = "" TxtMajor01 = "" TxtClas01 = "" End Sub Private Sub CmdChaXun05_Click() Frm_tMain.Hide Frm_Stu_Score.Show End Sub Private Sub CmdCla_Click() FClaIn.Visible = True FSubIn.Visible = False End Sub Private Sub CmdCutStu_Click()
30、 FmeAdd.Visible = True Frmcla04.Visible = False End Sub Private Sub Cmdok01_Click() Frm_tMain.Hide Frm_InScores.Show End Sub Private Sub CmdOk03_Click() FrmSub04.Visible = True Frmcla04.Visible = False End Sub Private Sub CmdOk02_Click() FClaIn.Visible = True
31、 FSubIn.Visible = False End Sub Private Sub CmdOk05_Click() Me.Hide Frm_AlterScore.Show End Sub Private Sub CmdSelSCore05_Click() Fmeclas05.Visible = True FmeZdy05.Visible = False FmeCxStu05.Visible = False End Sub Private Sub CmdStu05_Click() FmeCxStu05
32、.Visible = True FmeZdy05.Visible = False Fmeclas05.Visible = False End Sub Private Sub CmdSub_Click() FClaIn.Visible = False FSubIn.Visible = True End Sub Private Sub CmdXcode_Click() If TxtNewcode01.Text <> TxtNewcode02.Text Then MsgBox "兩次輸入的密碼不一樣!", vbO
33、KOnly + vbExclamation, "錯(cuò)誤" End If Dim rst As New ADODB.Recordset Dim strSql As String strSql = "update tb_login set userpwd = " & TxtNewcode01.Text & " where userid =" & Frm_Login.TxtUser.Text & " " Set rst = ExecuteSql(strSql) MsgBox "密碼修改成功!", vbOKOnly + vbExclamatio
34、n, "HKJSJ052201H" End Sub Private Sub CmdZdy_Click() FmeZdy05.Visible = True Fmeclas05.Visible = False FmeCxStu05.Visible = False End Sub Private Sub Form_Load() CobSub04.AddItem ("軟件工程") CobSub04.AddItem ("匯編語(yǔ)言") CobSub04.AddItem ("數(shù)據(jù)庫(kù)設(shè)計(jì)") CobSub04.Add
35、Item ("計(jì)算機(jī)圖形學(xué)") CobSub04.AddItem ("JAVA程序設(shè)計(jì)") CobSub04.AddItem ("計(jì)算機(jī)組成原理") End Sub Private Sub Form_Unload(Cancel As Integer) If MsgBox("真的要退出本系統(tǒng)嗎?", vbOKCancel + vbDefaultButton2, "退出系統(tǒng)") = vbCancel Then Cancel = 1 End Sub Private Sub LblHelp01_Click() Me.Hide Frm_AD.Show
36、End Sub Private Sub LblHelp02_Click() Call toWeb(" End Sub Private Sub LblHelp03_Click() Call toWeb("") End Sub Private Sub LblHelp04_Click() Call toWeb(" End Sub Private Sub LblHelp05_Click() Me.Hide Frm_421.Show End Sub Private Sub Timer1_Timer() LblTime.
37、Caption = " 歡迎使用本系統(tǒng)! 祝學(xué)習(xí)工作愉快 ^ ^ " + Format(Now, "yyyy/mm/dd") _ + " " + Format(Now, "dddd") + " " + Format(Now, "hh:mm:ss AM/PM") End Sub 6.2.4 成績(jī)錄入界面代碼 Private Sub Form_Load() With MSFlexGrid1 固定表頭 .FixedRows = 1 表頭項(xiàng)居中
38、 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Rows = 25 .Cols = 5 End With 設(shè)置MSFlexGrid表格的列寬 MSFlexGrid1.ColWidth(0) = 1900 MSFlexGrid1.ColWidth(1) = 1800 MS
39、FlexGrid1.ColWidth(2) = 3200 MSFlexGrid1.ColWidth(3) = 1200 MSFlexGrid1.ColWidth(4) = 2600 表頭 MSFlexGrid1.TextMatrix(0, 0) = " 學(xué)號(hào)" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1.TextMatrix(0, 2) = " 課程名" MSFlexGrid1.TextMatrix(0, 3) = "
40、 分?jǐn)?shù)" MSFlexGrid1.TextMatrix(0, 4) = " 備注" ShowData no return 添寫(xiě)固定科目 For k = 1 To 17 MSFlexGrid1.TextMatrix(k, 2) = LblTitle.Caption Next k End Sub 讀取數(shù)據(jù)庫(kù)的函數(shù)/循環(huán)讀入 Public Sub ShowData() Dim j As Integer Dim i As Integer strSq
41、l = "select 學(xué)號(hào),姓名 from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Typ
42、e Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) & "" End Select Next i
43、 rst.MoveNext Loop End With End If rst.Close End Sub 6.2.5 成績(jī)修改界面 Option Explicit Dim rst As New ADODB.Recordset Dim strSql As String Dim k As Integer Dim j As Integer Dim i As Integer Public Sub ShowData() strSql = "select 學(xué)號(hào),姓名," & Trim
44、(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).
45、Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) End Select Next i
46、 rst.MoveNext Loop End With End If rst.Close End Sub Public Sub ShowScore() strSql = "select " & Trim(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Ro
47、ws = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count .TextMatrix(.Rows - 1, i + 2) = rst.Fields(i - 1) & "" Next i rst.MoveNext Loop End With End If rst.Close End
48、Sub Private Sub Command1_Click() End Sub Private Sub CmdBack_Click() Me.Hide Frm_tMain.Show End Sub Private Sub CmdOk_Click() MsgBox "修改數(shù)據(jù)成功!單擊“確定”返回", vbOKOnly + vbInformation, "計(jì)算機(jī)052201H" End Sub Private Sub CmdReTry_Click() Dim i As Integer For i = 0 T
49、o 16 Text1(i) = "" Next i End Sub Private Sub Form_Load() On Error Resume Next LblSub.Caption = Frm_tMain.CobSub04.Text 顯示biao qian MSFlexGrid1.Rows = 24 MSFlexGrid1.Cols = 4 設(shè)置MSFlexGrid表格的列寬 MSFlexGrid1.ColWidth(0) = 2400 MSFlexGrid1.ColWidth(1) = 2400
50、 MSFlexGrid1.ColWidth(2) = 1800 MSFlexGrid1.ColWidth(3) = 1800 表頭 MSFlexGrid1.TextMatrix(0, 0) = " 學(xué)號(hào)" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1.TextMatrix(0, 2) = " 成績(jī)" MSFlexGrid1.TextMatrix(0, 3) = " 編輯" 填充第一列 For k = 1
51、To 23 MSFlexGrid1.TextMatrix(k, 0) = " 20052203010" & k Next k ShowScore ShowData End Sub 6.2.6 成績(jī)查詢 Option Explicit Dim rst As New ADODB.Recordset Dim rstName As New ADODB.Recordset Dim strSql, strSqlName As String Public Sub ShowData() Dim j As Integer Dim i
52、As Integer strSql = "select 軟件工程,匯編語(yǔ)言, 數(shù)據(jù)庫(kù)設(shè)計(jì),計(jì)算機(jī)圖形學(xué),JAVA程序設(shè)計(jì),計(jì)算機(jī)組成原理 from tb_score where 學(xué)號(hào) = " & LblStuNo.Caption & " " Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1
53、 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.R
54、ows - 1, i - 1) = rst.Fields(i - 1) & "" End Select Next i rst.MoveNext Loop End With End If rst.Close End Sub Public Sub ShowName() Dim i As Integer strSql = "select 姓名 from tb_score where 學(xué)號(hào) = " & LblStuNo.Capti
55、on & " " Set rst = ExecuteSql(strSql) If rst.EOF = False Then LblStuName.Caption = rst.Fields("姓名") End If rst.Close End Sub Private Sub CmdOk_Click() Unload Me Frm_tMain.Show End Sub Private Sub Form_Load() LblStuNo.Caption = Frm_tMain.TxtStuNoC0
56、5.Text With MSFlexGrid1 固定表頭 .FixedRows = 1 表頭項(xiàng)居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Rows = 2 .Cols = 6 End Wit
57、h guding liekuan MSFlexGrid1.ColWidth(0) = 1200 MSFlexGrid1.ColWidth(1) = 1200 MSFlexGrid1.ColWidth(2) = 1500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 2000 MSFlexGrid1.ColWidth(5) = 2400 MSFlexGrid1.TextMatrix(0, 0) = "軟件工程" MSFlexGr
58、id1.TextMatrix(0, 1) = "匯編語(yǔ)言" MSFlexGrid1.TextMatrix(0, 2) = "數(shù)據(jù)庫(kù)設(shè)計(jì)" MSFlexGrid1.TextMatrix(0, 3) = "計(jì)算機(jī)圖形學(xué)" MSFlexGrid1.TextMatrix(0, 4) = "JAVA程序設(shè)計(jì)" MSFlexGrid1.TextMatrix(0, 5) = "計(jì)算機(jī)組成原理" ShowName 函數(shù)調(diào)用 ShowData 函數(shù)調(diào)用 End Sub 6.2
59、.7 用戶注冊(cè) Option Explicit Private Sub CmdOk_Click() On Error Resume Next Dim cn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim i As Long Dim strSqlReg, strSqlChk As String strSqlReg = "insert into tb_login (userid,userpwd) values (" & NewId.Text & "," & NewPwd1.
60、Text & " )" strSqlChk = "select userid from tb_login where userid =" & NewId.Text & " " Set rst = ExecuteSql(strSqlChk) If Trim(NewId.Text) = "" Then MsgBox "請(qǐng)輸入正確的用戶名!", vbOKOnly + vbExclamation, "警告" NewId.SetFocus ElseIf NewId.Text = rst.F
61、ields("userid") Then MsgBox "此用戶名已經(jīng)被注冊(cè)!請(qǐng)重新輸入新用戶名!", vbOKOnly + vbExclamation, "警告" End If If NewPwd0.Text <> NewPwd1.Text Then MsgBox "對(duì)不起!你你兩次輸入的密碼不一致!請(qǐng)仔細(xì)核對(duì)后重新輸入!", vbOKOnly + vbExclamation, "警告" NewPwd0.Text = "" NewPw
62、d1.Text = "" NewPwd0.SetFocus End If Set rst = Nothing Set rst = ExecuteSql(strSqlReg) MsgBox "注冊(cè)成功!祝使用學(xué)習(xí)工作愉快!", vbOKOnly + vbExclamation, "謝謝使用" End Sub Private Sub CmdToUp_Click() Frm_Regester.Hide Frm_Login.Show End Sub Private
63、Sub EnterEle_Click() Frm_Regester.Hide Frm_RegEle.Show End Sub 結(jié)束語(yǔ) “ 一個(gè)軟件產(chǎn)品或一項(xiàng)軟件服務(wù)幫助客戶改進(jìn)了他們的業(yè)務(wù),因此獲得客戶支付的報(bào)酬,軟件產(chǎn)品和服務(wù)的付出終于取得了回報(bào)。” 通過(guò)本次課程設(shè)計(jì),我終于明白學(xué)的理論和實(shí)際運(yùn)用原來(lái)有這么多意想不到的差別,而只有通過(guò)自己反復(fù)動(dòng)手才能發(fā)現(xiàn)這些微妙的細(xì)節(jié)。無(wú)論是在設(shè)計(jì)數(shù)據(jù)庫(kù)還是在編程方面,我都收獲頗多,而這些收獲的的來(lái),全來(lái)源于張老師對(duì)我們的嚴(yán)格和負(fù)責(zé)。我的報(bào)告修改了無(wú)數(shù)次了。我也從這無(wú)數(shù)次中鞏固了許多原本沒(méi)掌握好的知
64、識(shí)和一種嚴(yán)謹(jǐn)?shù)淖鋈说览恚苍S這次還不能達(dá)到老師的嚴(yán)格要求(為此,小女子在此表示深深的歉意=_=),不過(guò)在以后的學(xué)習(xí)生活中,無(wú)論是干什么我都會(huì)嚴(yán)格要求自己,都會(huì)想到這段難忘的數(shù)據(jù)庫(kù)設(shè)計(jì)周。 首先,我想對(duì)張老師說(shuō):張老師,您辛苦了! 其次,我要感謝我們的學(xué)校領(lǐng)導(dǎo),給我們安排了這次課程設(shè)計(jì),給了我們展示自己才能的舞確立了我們的這個(gè)作業(yè)方向,設(shè)立了我這個(gè)作業(yè)項(xiàng)目(本來(lái)我是用JSP寫(xiě)的,能力實(shí)在有限,就又用VB和SQL~~~所以部分界面有些網(wǎng)頁(yè)化,就沒(méi)修改了。見(jiàn)諒),不過(guò)沒(méi)有他們的英明決策,我這個(gè)"產(chǎn)品"就不會(huì)在這個(gè)時(shí)候出現(xiàn)在這個(gè)美妙的地方。 其次,我要感謝我的朋友和同學(xué),沒(méi)有他們的支持,
65、就沒(méi)有這么“出色的軟件”啦;然后我還要感謝我的爸爸媽媽,親戚朋友,沒(méi)有他們哪兒有我呀,當(dāng)然就沒(méi)的這軟件了.. 附錄1 使用說(shuō)明 1 本程序采用vb 6.0 ,SQL
66、server 2000..................... 2 為了方便老師檢驗(yàn),里邊配帶了已經(jīng)寫(xiě)好的數(shù)據(jù)庫(kù),在項(xiàng)目子目錄里面的sql目錄里,將db_score.sql的文件打開(kāi)后,拷貝到SQL Server 2000的查詢分析器里,然后執(zhí)行將產(chǎn)生需要的數(shù)據(jù)庫(kù)結(jié)構(gòu)。 3 配置ODBC數(shù)據(jù)源,按照說(shuō)明進(jìn)行數(shù)據(jù)源的配置,程序?qū)?shù)據(jù)庫(kù)的訪問(wèn)需要通過(guò)ODBC來(lái)實(shí)現(xiàn)。打開(kāi)"控制面板"中"管理工具"的"ODBC(數(shù)據(jù)源)",在彈出的對(duì)話框中創(chuàng)建文件DSN。需要?jiǎng)?chuàng)建的文件DSN,創(chuàng)建名為db_score.dsn,登錄方式選擇"使用用戶輸入登錄ID和密碼的SQL Server驗(yàn)證",登錄ID為sa,密碼為空,選擇連接數(shù)據(jù)庫(kù)為db_score(就是在查詢分析器里創(chuàng)建的數(shù)據(jù)庫(kù))。 4 運(yùn)行
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)文部編版《端午粽》課件2
- 秋的思念最新課件
- 20套清新商務(wù)日歷圖表合集一課件
- 簡(jiǎn)歷篩選技巧教學(xué)課件
- 《圖形創(chuàng)意設(shè)計(jì)》【初中美術(shù)教學(xué)課件】
- 部編新版人教版一年級(jí)下冊(cè)姓氏歌課件
- 西師大版六年級(jí)數(shù)學(xué)下冊(cè)總復(fù)習(xí)(5)---比和比例
- 藥物過(guò)敏反應(yīng)及處理流程ppt
- 人教版《道德與法治》九年級(jí)上冊(cè)42《凝聚法治共識(shí)》課件_參考
- 蘇教版二年級(jí)數(shù)學(xué)下冊(cè)第六單元--兩、三位數(shù)的加法和減法第7課時(shí)---練習(xí)七課件
- 蘇教版小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)《方程的認(rèn)識(shí)》課件
- 國(guó)培計(jì)劃項(xiàng)目匯報(bào)模板
- 藏羚羊跪拜王春華
- 危重病人護(hù)理查房
- 中醫(yī)體質(zhì)分類及其辨證調(diào)護(hù)