數(shù)據(jù)庫課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計報告
《數(shù)據(jù)庫課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計報告(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計報告 學(xué) 院:信息科學(xué)與工程 班 級: 自動化0906 學(xué) 號: 姓 名:catonlion 摘要 隨著學(xué)校的規(guī)模不斷擴大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量需要有學(xué)生管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。 本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化,其主要任務(wù)是用計算機對學(xué)生各種信息進行日常
2、管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對這些要求設(shè)計了學(xué)生信息管理系統(tǒng);本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化,其主要任務(wù)是用計算機對學(xué)生各種信息進行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生用后意見,針對這些要求設(shè)計了學(xué)生信息管理系統(tǒng)。 本系統(tǒng)主要包括學(xué)生信息查詢、教務(wù)信息維護和學(xué)生留言三部分。其功能主要有: 1、有關(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級、所學(xué)課程和成績等。 2、學(xué)生信息的查詢,包括查詢學(xué)生基本信息、所在班級、已學(xué)課程和成績等。 3、學(xué)生信息的修改。 4、學(xué)生修改密碼。 5、學(xué)
3、生對于系統(tǒng)的用后建議,留言板功能。 學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng) (MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。 經(jīng)過分析,使用MICROSOFT公司的Microsoft Visual Studio 2005開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。 關(guān)鍵字:控件、web、
4、類、數(shù)據(jù)庫、VS2005、sql2005。 第一章緒論 4 數(shù)據(jù)庫技術(shù)的國內(nèi)外發(fā)展與應(yīng)用現(xiàn)狀 4 、學(xué)生學(xué)籍數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的意義 5 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)方法概述 5 、小結(jié) 5 第二章系統(tǒng)需求分析 6 2.1 概述 6 2.2 系統(tǒng)功能需求與數(shù)據(jù)需求 7 1.2.1 數(shù)據(jù)流圖 7 1.2.2 系統(tǒng)功能需求 7 1.2.3 系統(tǒng)數(shù)據(jù)需求(數(shù)據(jù)字典) 8 2.3 小結(jié) 9 第三章 系統(tǒng)設(shè)計 10 3.1 概念設(shè)計(E-R圖) 10 3.1.1 設(shè)計方法及關(guān)鍵技術(shù) 10 3.1.2 系統(tǒng)的E-R圖 10 3.2 邏輯設(shè)計(E-R圖) 10 3.2.1 設(shè)
5、計方法及關(guān)鍵技術(shù) 11 3.2.2 系統(tǒng)的邏輯模型 11 系統(tǒng)的完整性與安全性設(shè)計 12 3.3 物理設(shè)計 12 3.4 系統(tǒng)功能設(shè)計(E-R圖) 13 3.5 系統(tǒng)開發(fā)平臺選擇 14 小結(jié) 14 第四章 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實現(xiàn) 15 4.1 數(shù)據(jù)庫的定義 15 4.1.1 數(shù)據(jù)庫的定義 15 4.2 應(yīng)用系統(tǒng)的開發(fā) 18 小結(jié) 33 第五章 結(jié)束語 34 第一章緒論 隨著計算機科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在Internet中的應(yīng)用越來越廣泛,數(shù)據(jù)庫在網(wǎng)站的建設(shè)中已經(jīng)成為必不可少的重要內(nèi)容??梢哉f數(shù)據(jù)庫技術(shù)已經(jīng)成為網(wǎng)絡(luò)的核心技術(shù) 數(shù)據(jù)庫的發(fā)展概況
6、第一代數(shù)據(jù)庫系統(tǒng)。 ? 支持層次和網(wǎng)狀這兩種格式化數(shù)據(jù)模型的數(shù)據(jù)庫系統(tǒng),為第一代數(shù)據(jù)庫系統(tǒng) 。層次數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的先驅(qū),而網(wǎng)狀數(shù)據(jù)庫則是數(shù)據(jù)庫概念、方法、技術(shù)的奠基。它們是數(shù)據(jù)庫技術(shù)中研究得最早的兩種數(shù)據(jù)庫 。 支持關(guān)系數(shù)據(jù)模型的關(guān)系數(shù)據(jù)庫系統(tǒng)是第二代數(shù)據(jù)庫系統(tǒng)。 ? 20世紀80年代以來,幾乎所有新開發(fā)的系統(tǒng)均是關(guān)系型數(shù)據(jù)庫。這些商用數(shù)據(jù)庫技術(shù)的使用,特別是微機數(shù)據(jù)庫系統(tǒng)的使用,使數(shù)據(jù)庫技術(shù)日益廣泛地應(yīng)用到企業(yè)管理、辦公自動化、情報檢索、輔助決策等各個方面,成為實現(xiàn)和優(yōu)化信息系統(tǒng)的基本技木。 ? 關(guān)系模型建立在嚴格數(shù)學(xué)概念的基礎(chǔ)上,概念簡單、清晰,易于用戶理解和使用,大大簡
7、化了用戶的工作。正因為如此,關(guān)系模型提出以后,便迅速發(fā)展,并在實際的商用數(shù)據(jù)庫產(chǎn)品中得到了廣泛應(yīng)用,成為深受廣大用戶歡迎的數(shù)據(jù)模型。 關(guān)系數(shù)據(jù)庫的發(fā)展 ? 關(guān)系數(shù)據(jù)庫管理系統(tǒng)及其產(chǎn)品從70年代至今,已成功地走過了三個階段,它對關(guān)系模型的支持越來越完善,運行環(huán)境已從單機擴展到網(wǎng)絡(luò),對數(shù)據(jù)的收集、存儲、處理和傳播也由集中式走向分布式,從封閉式走向開放式。目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)不僅提供了數(shù)據(jù)定義、數(shù)據(jù)存取、數(shù)據(jù)控制等基本操作和數(shù)據(jù)存儲組織、并發(fā)控制、安全性完整性檢查、系統(tǒng)恢復(fù)、數(shù)據(jù)庫的重組織和重構(gòu)造等基本功能,還開發(fā)了外圍軟件系統(tǒng),為用戶提供了一個良好的應(yīng)用開發(fā)環(huán)境。 1.2、學(xué)生學(xué)籍
8、管理數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的意義 學(xué)生學(xué)籍管理系統(tǒng)是一個教育單位不可缺少的部分。一個功能齊全、簡單易用的學(xué)生學(xué)籍管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負擔,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計和查詢數(shù)據(jù),這種管理方式存在著許多缺點,如:效率低、保密性差,人工的大量浪費;另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著來越重要的
9、作用。 作為計算機應(yīng)用的一部分,使用計算機對學(xué)校的各類信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查詢方便、效率高、可靠性好、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)校信息管理的效率,也是一個單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條 根據(jù)軟件工程中軟件生命周期的思想,可將數(shù)據(jù)庫設(shè)計分為五個基本步驟,其基本思想是過程迭代和逐步求精。 1.需求分析: 設(shè)計一個數(shù)據(jù)庫,首先必須準確、全面和深入地了解和分析用戶需求,包括數(shù)據(jù)需求和處理需求。 2.概念設(shè)計 在需求分析基礎(chǔ)上,用概念數(shù)據(jù)模型(如E-R模型),表示數(shù)據(jù)及其相互間的聯(lián)系,形成數(shù)據(jù)
10、庫概念結(jié)構(gòu)(如E-R圖)。概念結(jié)構(gòu)(模式)與具體DBMS無關(guān),是對現(xiàn)實世界的可視化描述,容易被用戶所理解,因而不但可用于后續(xù)的設(shè)計,也是與用戶交流和數(shù)據(jù)庫移植的重要文檔。 3.邏輯設(shè)計 這一步是將數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)庫邏輯模式,例如,將E-R圖轉(zhuǎn)換為關(guān)系模型所支持的關(guān)系數(shù)據(jù)庫模式。邏輯設(shè)計也不僅僅是個數(shù)據(jù)模式的轉(zhuǎn)換問題,還要進一步考慮數(shù)據(jù)模式的規(guī)范化、滿足DBMS的各種限制等。 4.物理設(shè)計 這一步的任務(wù)是:根據(jù)DBMS及計算機系統(tǒng)所提供的手段,為數(shù)據(jù)庫邏輯模式選取一個最適合應(yīng)用環(huán)境的物理模式(包括存儲結(jié)構(gòu)和存取方法等)。 5.數(shù)據(jù)庫實施 這一步就是在實際的計算
11、機平臺上,真正建立數(shù)據(jù)庫。先運行用DDL編寫的命令,建立數(shù)據(jù)庫框架;然后通過DBMS的實用工具或?qū)iT編寫的應(yīng)用程序,將數(shù)據(jù)實際載入,最終建成數(shù)據(jù)庫。在數(shù)據(jù)庫投入實用之前,要進行測試和試運行。除單獨測試之外,還要與數(shù)據(jù)庫應(yīng)用程序結(jié)合起來進行測試。 1.4、小結(jié) 當今時代,數(shù)據(jù)庫是開發(fā)應(yīng)用程序所必須的,學(xué)好數(shù)據(jù)庫很有用。 第二章系統(tǒng)需求分析 2.1 概述 學(xué)生學(xué)籍管理系統(tǒng)是一個教育單位不可缺少的部分。一個功能齊全、簡單易用的學(xué)籍管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負擔,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快
12、捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計和查詢數(shù)據(jù),這種管理方式存在著許多缺點,如:效率低、保密性差,人工的大量浪費;另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著來越重要的作用。 作為計算機應(yīng)用的一部分,使用計算機對學(xué)校的各類信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查詢方便、效率高、可靠性好、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)校信息管理的效率,也是一個單位科學(xué)化、正規(guī)化管理,與世界
13、接軌的重要條件。 本系統(tǒng)的最終用戶為管理員和學(xué)生,根據(jù)我們?nèi)粘I钪械慕?jīng)歷,結(jié)合學(xué)校管理員對學(xué)籍管理的需求,得到以下結(jié)果 2.2 系統(tǒng)功能需求與數(shù)據(jù)需求 2.2.1 數(shù)據(jù)流圖 2.2.2 系統(tǒng)功能需求 本系統(tǒng)的主要任務(wù)是實現(xiàn)對學(xué)校教導(dǎo)處的學(xué)生信息管理、成績管理、課程管理及相關(guān)查詢。其主要功能包括: 針對不同的用戶,管理系統(tǒng)主要有以下功能: 一. 對學(xué)生: 1. 登陸系統(tǒng)查看自己個人信息; 2.訪問留言板,享用留言; 3. 修改密碼; 二.對管理員: 1.添加新的學(xué)生信息,以班級為單位,進行學(xué)生入庫; 2. 輸入條件查詢數(shù)據(jù)庫內(nèi)符合條件的學(xué)生名單,根據(jù)用戶的要求,查
14、詢學(xué)生數(shù)據(jù)庫的所有可能的信息; 3. 對于選定的的學(xué)生信息進行刪除或編輯操作,當學(xué)生畢業(yè)后,學(xué)生信息轉(zhuǎn)移備份數(shù)據(jù)庫中,系統(tǒng)的基本數(shù)據(jù)庫中需要刪除學(xué)生信息。 系統(tǒng)功能模塊圖: 2.2.3 系統(tǒng)數(shù)據(jù)需求(數(shù)據(jù)字典) 數(shù)據(jù)庫名:StudentRecord 學(xué)生表SR_Student 序號 列名 數(shù)據(jù)類型 長度 標識 主鍵 允許空 默認值 字段說明 1 SID nvarchar 100 √ 學(xué)生學(xué)號 2 SName nvarchar 100 學(xué)生姓名 3 PSW nvarchar 100 ((0
15、)) 密碼 4 XueyuanName nvarchar 100 所在學(xué)院 5 Class nvarchar 100 所在班級 6 Sex nchar 20 性別 7 Home nvarchar 100 √ 籍貫 8 PhoneNumber nvarchar 100 √ 號碼 9 Email nvarchar 100 √ 電子郵箱 留言表 SR_Message 序號 列名 數(shù)據(jù)類型 長度 標識 主鍵 允許空 默認值 字
16、段說明 1 id int 4 √ √ 留言ID 2 UName varchar 50 留言者名 3 Title nvarchar MAX 留言內(nèi)容 4 Time varchar MAX 留言時間 班級表SR_Class 序號 列名 數(shù)據(jù)類型 長度 標識 主鍵 允許空 默認值 字段說明 1 CID int 4 √ √ 班級ID 2 ClassName nvarchar 100 班級名稱 3 XueYuanID int
17、 4 所在學(xué)院id 管理員表SR_Admin 序號 列名 數(shù)據(jù)類型 長度 標識 主鍵 允許空 默認值 字段說明 1 AID int 4 √ √ id 2 AName varchar 50 管理員名稱 3 APSW varchar 50 密碼 專業(yè)表SR_Xueyuan 序號 列名 數(shù)據(jù)類型 長度 標識 主鍵 允許空 默認值 字段說明 1 XYID int 4 √ √ 學(xué)院id 2 XYName nvarchar 100
18、 學(xué)院名稱 2.3 小結(jié) 第三章 系統(tǒng)設(shè)計 3.1 概念設(shè)計(E-R圖) 3.1.1 設(shè)計方法及關(guān)鍵技術(shù) 根據(jù)對數(shù)據(jù)需求的分析,得到以下實體: 1. 用戶實體 其屬性有:用戶編號,用戶名,密碼。 用戶 用戶編號 用戶名 密碼 2.權(quán)限實體 其屬性有:權(quán)限編號,權(quán)限名稱,備注。權(quán)限實體 權(quán)限 權(quán)限編號 備注 權(quán)限名稱 其屬性有:學(xué)生學(xué)號,學(xué)生姓名,所在學(xué)院,所在班級,性別,籍貫, 號碼,電子郵箱 其屬性有:院系編號,院系名稱
19、。 院系 院系編號 院系名稱 其屬性有:班級編號,班級名稱。 班級 班級編號 班級名稱 6.留言實體 其屬性有:留言編號,留言者,留言內(nèi)容,留言時間。 留言 留言者 內(nèi)容 時間 留言編號號 各實體之間的聯(lián)系有: 1.學(xué)生檔案和院系、班級之間存在屬于的聯(lián)系:一個院系、班級可以有多個學(xué)生,一個學(xué)生只能屬于一個院系、班級; 2.用戶和權(quán)限存在權(quán)限設(shè)置的聯(lián)系:一個用戶可以有多個權(quán)限,而一個權(quán)限也可分配給多個用戶。 3.留言內(nèi)容和學(xué)生之間存在屬于的聯(lián)系,一個留言者可以有多條留言,一條留言只能有一個留言者。 3.1
20、.2 系統(tǒng)的E-R圖 3.2 邏輯設(shè)計(E-R圖) 3.2.1 設(shè)計方法及關(guān)鍵技術(shù) 在概念設(shè)計的基礎(chǔ)上,根據(jù)設(shè)計得到系統(tǒng)總的E-R圖,按照概念模式與關(guān)系表轉(zhuǎn)化的一般規(guī)則,結(jié)合實際的需要進行邏輯設(shè)計,按照E—R圖中的實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。 3.2.2 系統(tǒng)的邏輯模型 實體所對應(yīng)的關(guān)系模式 學(xué)生表(學(xué)生學(xué)號,學(xué)生姓名,所在學(xué)院,所在班級,性別,籍貫, 號碼,電子郵箱) 學(xué)院(院系編號,院系名稱) 班級(班級編號,院系編號,班級名稱) 留言表(留言編號,留言者,留言內(nèi)容,留言時間) 管理員表(管理員編號,管理員姓名,管理員密碼
21、 優(yōu)化后的數(shù)據(jù)模型 學(xué)生表(學(xué)生學(xué)號,學(xué)生姓名,所在學(xué)院,所在班級,性別,籍貫, 號碼,電子郵箱) 3NF 學(xué)院(院系編號,院系名稱) 3NF 班級(班級編號,院系編號,班級名稱) 3NF 留言表(留言編號,留言者,留言內(nèi)容,留言時間) 3NF 管理員表(管理員編號,管理員姓名,管理員密碼) 3NF 最后的ER圖: 包括主外鍵,參照完整性、用戶自定義完整性(約束、默認值與規(guī)則),安全性,請參見數(shù)據(jù)字典 3.3 物理設(shè)計 學(xué)生學(xué)籍管理系統(tǒng)是多用戶共享的系統(tǒng),對同一個關(guān)系要建立多條存儲路徑,才能滿足多用戶的多種應(yīng)用要求。在數(shù)據(jù)庫設(shè)計中,可供選用的存儲方法
22、主要有三種:B+樹索引方法、聚簇方法、HASH方法。其中,B+數(shù)索引方法發(fā)展較為完善,也是目前大型數(shù)據(jù)庫使用的經(jīng)典存取方法,使用最為普遍,并且符合本系統(tǒng)的要求,因此,我們采用B+樹索引方法作為系統(tǒng)的存取方法 所謂選擇索引存取方法實際上就是根據(jù)應(yīng)用要求確定對關(guān)系的哪些屬性列立索引、哪些屬性列建立組合索引、哪些索引要設(shè)計為唯一索引等。根據(jù)本信息系統(tǒng)的具體情況,建立索引的依據(jù)如下: 一個屬性經(jīng)常在查詢條件下出現(xiàn)。 一個屬性經(jīng)常作為最大值或最小值等聚集函數(shù)的參數(shù)。 一個屬性經(jīng)常在連接操作的連接條件出現(xiàn)。 屬性名 對應(yīng)實體 屬性名 對應(yīng)實體 學(xué)生號 學(xué)生信息 學(xué)生姓名 學(xué)
23、生信息 院系號 院系信息 院系名稱 院系信息 班級號 班級信息 班級名 班級信息 由于開發(fā)者的習慣、、和開發(fā)者磁盤的容量,決定將數(shù)據(jù)庫存放于C盤,應(yīng)用程序存放放在E盤 3.4 系統(tǒng)功能設(shè)計(E-R圖) 3.5 系統(tǒng)開發(fā)平臺選擇 微軟公司的visual studio 2005與sql2005配合開發(fā)。 ER圖真難畫,真難畫,真難畫,真難畫?。。? 第四章 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實現(xiàn) 4.1 數(shù)據(jù)庫的定義 4.1.1 數(shù)據(jù)庫的定義 本系統(tǒng)采用sql server數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫StudentRecord,并在數(shù)據(jù)庫StudentRecord中使
24、用數(shù)據(jù)表結(jié)構(gòu)設(shè)計如下: 1、創(chuàng)建管理員表 CREATE TABLE [dbo].[SR_Admin]( [AID] [int] IDENTITY(1,1) NOT NULL, [AName] [varchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [APSW] [varchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Admin] PRIMARY KEY CLUSTERED ( [AID] ASC )WITH (IGNORE_DUP_KEY
25、 = OFF) ON [PRIMARY] ) ON [PRIMARY] 2、創(chuàng)建學(xué)生表 CREATE TABLE [dbo].[SR_Student]( [SID] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [SName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [PSW] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL CONSTRAINT [DF_SR_Student_PSW] DEFAULT ((
26、0)), [XueyuanName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [Class] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [Sex] [nchar](10) COLLATE Chinese_PRC_CS_AS NOT NULL, [Home] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NULL, [PhoneNumber] [nvarchar](50) COLLATE Chinese_PRC_CS_A
27、S NULL, [Email] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NULL, CONSTRAINT [PK_SR_Student] PRIMARY KEY CLUSTERED ( [SID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO USE [StudentRecord] GO ALTER TABLE [dbo].[SR_Student] WITH CHECK ADD CONSTRAINT [CK_SR_Student] CH
28、ECK (([Sex]='女' OR [Sex]='男')) 3、創(chuàng)建學(xué)院表 CREATE TABLE [dbo].[SR_Xueyuan]( [XYID] [int] IDENTITY(1,1) NOT NULL, [XYName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Xueyuan] PRIMARY KEY CLUSTERED ( [XYID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMAR
29、Y] 4、創(chuàng)建班級表 CREATE TABLE [dbo].[SR_Class]( [CID] [int] IDENTITY(1,1) NOT NULL, [ClassName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [XueYuanID] [int] NOT NULL, CONSTRAINT [PK_SR_Class_1] PRIMARY KEY CLUSTERED ( [CID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMAR
30、Y] GO USE [StudentRecord] GO ALTER TABLE [dbo].[SR_Class] WITH CHECK ADD CONSTRAINT [FK_SR_Class_SR_Xueyuan] FOREIGN KEY([XueYuanID]) REFERENCES [dbo].[SR_Xueyuan] ([XYID]) 5、創(chuàng)建留言表 CREATE TABLE [dbo].[SR_Message]( [id] [int] IDENTITY(1,1) NOT NULL, [UName] [nvarchar](50) COLLATE Chinese
31、_PRC_CS_AS NOT NULL, [Title] [nvarchar](max) COLLATE Chinese_PRC_CS_AS NOT NULL, [Time] [varchar](max) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Message] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 表視圖
32、 4.2 應(yīng)用系統(tǒng)的開發(fā) 主要功能模塊對應(yīng)的主要界面,完成的主要功能及主要應(yīng)用程序 在本系統(tǒng)中會多次用到對象,因此封裝一個sqlclass.cs類,減少代碼的冗余。 public class sqlClass { public sqlClass() { } private static SqlConnection con = new SqlConnection("server=.;database=StudentRecord;Integrated Security =true");
33、 private static SqlCommand cmd = new SqlCommand(); private SqlDataReader sdr = null; public SqlConnection linkToSql() //建立與數(shù)據(jù)庫的鏈接 { if (con.State == ConnectionState.Closed) { con.Open(); } return con; } public void sqlClose() //關(guān)閉鏈接 {
34、 if (con.State == ConnectionState.Open) { con.Close(); } } public int comd(string cmdstr) //傳入sql語句,執(zhí)行sql命令 { int i = 0; cmd mandText = cmdstr; cmd.Connection = con; i = cmd.ExecuteNonQuery(); return i; } public
35、SqlDataReader sdar(string comdstring) //傳入sql語句,將命令結(jié)果以SqlDataReader形式返回 { cmd.Connection = linkToSql(); cmd mandText = comdstring; sdr = cmd.ExecuteReader(); return sdr; } public void sdaClose() //關(guān)閉SqlDataReader { if (sdr.IsClosed ==
36、false) { sdr.Close(); } } public DataSet ds(string cmdstr,string tableName) //傳入sql語句,表名,以dataset形式返回結(jié)果 { SqlDataAdapter sda = new SqlDataAdapter(cmdstr,con); DataSet nds = new DataSet(); sda.Fill(nds,tableName); return nds; } }
37、} 1、登陸界面 選擇不同的身份登陸,輸入框有驗空的功能,有輸入驗證碼的功能 具體實現(xiàn)如下 在提交按鈕的click事件下: //獲取輸入框的文字 string uname = txtName.Value; string cpwd = txtPwd.Value; if (Session["VNum"].ToString().Trim().ToLower().Equals(txtyzm.Value.ToLower())) // 檢驗驗證碼是否正確 { if (ddlCountr
38、ies.Text.Equals("學(xué)生")) //判斷用戶身份,根據(jù)身份檢驗ID 與密碼 { sqlClass sc = new sqlClass(); //實例化 sqlclass SqlDataReader sda = sc.sdar("select PSW from SR_Student where SID='" + uname + "'"); //以sqldatareader形式返回查詢結(jié)果 if (sda.Read())
39、 { if (sda["PSW"].ToString() == cpwd) //檢驗密碼 { sc.sdaClose(); sc.sqlClose(); Session["sid"] = uname; Response.Redirect("Studentdetail.aspx");
40、 } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } } else {
41、 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); } sc.sdaClose(); sc.sqlClose(); } else { string aname = txtName.Value;
42、 string apwd = txtPwd.Value; sqlClass sc = new sqlClass(); SqlDataReader sdr = sc.sdar("select APSW from SR_Admin where AName='" + uname + "'"); if (sdr.Read()) { if (cpwd == sdr["APSW"].ToStrin
43、g()) { sc.sdaClose(); sc.sqlClose(); Response.Redirect("Record_Add.aspx"); } else { Page.ClientScript.RegisterClient
44、ScriptBlock(this.GetType(), "clientScript", "") ; } } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); } 2、學(xué)生信息界面 查看自己的信息
46、,修改用戶體驗界面,修改登陸密碼 頁面加載時 protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) //接收login界面?zhèn)鱽淼膇d參數(shù),查詢該id對應(yīng)的信息,并顯示在頁面上 { string sid = Session["sid"].ToString(); sqlClass sc = new sqlClass(); sc.linkToSql(); SqlDataReader sda =
47、 sc.sdar("select * from SR_Student where SID='" + sid + "'"); sda.Read(); Label1.Text = sda["SID"].ToString(); Label2.Text = sda["SName"].ToString(); Label3.Text = sda["XueyuanName"].ToString(); Label4.Text = sda["Class"].ToString(); Label5.Text
48、= sda["Sex"].ToString(); Label6.Text = sda["Home"].ToString(); Label7.Text = sda["PhoneNumber"].ToString(); Label8.Text = sda["Email"].ToString(); sc.sdaClose(); sc.sqlClose(); } 修改密碼功能實現(xiàn)代碼: 點擊確認修改密碼按鈕后 protected void SureButton_Click(object
49、 sender, EventArgs e) { string sid = Session["sid"].ToString(); string npsw = TextBox3.Text.Trim().ToString(); sqlClass sc = new sqlClass(); sc.linkToSql(); SqlDataReader sdr = sc.sdar("select PSW from SR_Student where SID='" + sid + "'"); s
50、dr.Read(); string opse = sdr["PSW"].ToString(); if (TextBox1.Text.Trim().ToString() == opse) //如果原密碼正確 { if (TextBox2.Text.Trim().ToString() == TextBox3.Text.Trim().ToString()) //如果兩次輸入的新密碼一致 { sdr.Close(); sc d("
51、update SR_Student set PSW='" + npsw + "' where SID='" + sid + "'"); //更新密碼值 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } else //否則提示兩次輸入密碼不一致 { Page.Client
52、Script.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } } else //否則提示原密碼錯誤 { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } if
53、(!sdr.IsClosed) { sc.sdaClose(); } sc.sqlClose(); } 修改背景圖片的腳本: 3、留言界面 用gridview動態(tài)顯示留言內(nèi)容,構(gòu)造函數(shù),綁定gridview的數(shù)據(jù)源 protected void bind() //綁定gridview數(shù)據(jù)源 { sqlClass sc = new sqlClass(); GridView1.DataSource = sc.ds("select * from S
55、R_Message", "SR_Message"); GridView1.DataBind(); } 頁面加載時 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind();//調(diào)用bind()綁定 } } 在點擊留言按鈕,clicked事件下 protected void Button1_Click(object sender, EventArgs e) {
56、 sqlClass sc = new sqlClass(); sc.linkToSql(); string time = DateTime.Now.ToString(); //獲取留言時間 string title = TextBox1.Text.ToString(); string uid = Session["sid"].ToString(); SqlDataReader sdr = sc.sdar("select SName from SR_Student where SID ='
57、" + uid + "'"); sdr.Read(); string uname = Convert.ToString(sdr["SName"]); sc.sdaClose(); int i = sc d("insert into SR_Message(UName,Title,Time) values('" + uname + "','" + title + "','" + time + "')");//存入留言內(nèi)容 sc.sqlClose(); Page.ClientScript.Re
58、gisterClientScriptBlock(this.GetType(), "clientScript", ""); //留言成功,提示
bind();
}
4、查詢學(xué)生信息頁面
采用GridView控件顯示學(xué)生信息列表,按照下拉菜單和輸入姓名的方式查詢對應(yīng)信息,兩個下拉菜單是聯(lián)動的,如:選擇自動化,班級列表就只有自動化1和自動化2兩個選項。
學(xué)生列表實現(xiàn)部分,
Gridview asp代碼
59、="server" AllowPaging="True" DataKeyNames="SID"
OnRowDeleting="GridView1_delete" OnRowEditing="GridView1_edit" OnPageIndexChanging="GridView1_page"
AutoGenerateColumns="False">
60、 ShowEditButton="True" />
61、"PSW" />
63、n="Email" />
64、); sc.sqlClose(); GridView1.DataBind(); } 在頁面加載時,加入此舉代碼,調(diào)用函數(shù),綁定 bind("select * from SR_Student", "SR_Student"); 專業(yè)下拉菜單GradeDropDownList直接采用可視化操作,無代碼綁定 在專業(yè)下拉菜單selectchanged事件下,對班級下拉菜單數(shù)據(jù)源進行綁定 protected void XY_Changed(object sender, EventArgs e) { if (Gr
65、adeDropDownList.SelectedItem.Text != "全部") { int xid = Int32.Parse(GradeDropDownList.SelectedItem.Value.ToString()); sqlClass sc = new sqlClass(); SqlDataAdapter sda = new SqlDataAdapter("select * from SR_Class where XueYuanID='" + xid + "'", sc.link
66、ToSql()); DataSet ds = new DataSet(); sda.Fill(ds, "classe"); ClassDropDownList.DataSource = ds.Tables[0].DefaultView; ClassDropDownList.DataTextField = "ClassName"; ClassDropDownList.DataValueField = "CID"; ClassDropDownList.DataBind(); ClassDropDownList.Items.Add("全部"); ClassDropDownList.Items.FindByValue("全部").Selected = true; sc.sqlClose(); } } 實現(xiàn)分頁功能代碼
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習4數(shù)學(xué)思考第1課時數(shù)學(xué)思考1練習課件新人教版