第一篇:大數(shù)據(jù)下基于WEB的學(xué)生綜合信息管理系統(tǒng)的設(shè)計(jì)
摘要:高校學(xué)生管理工作是其管理工作中的重點(diǎn),其工作的好壞對(duì)高職院校的管理水平和高職學(xué)生的素質(zhì)有深刻的影響。隨著科學(xué)技術(shù)的發(fā)展,高校學(xué)生管理系統(tǒng)的應(yīng)用正在向縱深、融合發(fā)展,以物聯(lián)網(wǎng)、虛擬現(xiàn)實(shí)、大數(shù)據(jù)為代表的新技術(shù)應(yīng)用正在高??焖?gòu)V泛應(yīng)用,它們構(gòu)成了高校智慧校園不可忽略的一部分。本系統(tǒng)研究學(xué)生綜合信息系統(tǒng)化、數(shù)字化,學(xué)生從“入學(xué)--在校--畢業(yè)”全生命周期的一體化服務(wù),提高學(xué)生管理工作的效率和水平。即從整體上對(duì)學(xué)生管理信息化進(jìn)行設(shè)計(jì),又在結(jié)構(gòu)功能上體現(xiàn)出“智能”的特點(diǎn),對(duì)智慧校園的建設(shè)有一定的參考意義。
關(guān)鍵詞:智慧校園 學(xué)生管理 智能
一、研究背景
1.高職院校學(xué)生管理特點(diǎn)
高職學(xué)生的年齡大多在18-22歲,是三觀形成的關(guān)鍵時(shí)期,高職院校對(duì)其培養(yǎng)的主要目標(biāo)是提升學(xué)生的就業(yè)能力、工作能力。日常的高職學(xué)生管理工作主要注重對(duì)學(xué)生學(xué)習(xí)的引導(dǎo)和控制,對(duì)學(xué)生職業(yè)能力的實(shí)現(xiàn)以及對(duì)學(xué)生就業(yè)的引導(dǎo)。
2.高職院校學(xué)生管理現(xiàn)狀
隨著我國(guó)高等教育的深入發(fā)展,我國(guó)高職院校的發(fā)展規(guī)模逐漸壯大,學(xué)生人數(shù)逐年增加。為促進(jìn)高等教育的發(fā)展,高職院校對(duì)信息管理系統(tǒng)進(jìn)行了應(yīng)用,為信息管理系統(tǒng)的構(gòu)建投入了人力、物力支持。信息管理系統(tǒng)以其自身檢索速度快、查找便利、可靠性強(qiáng)、存儲(chǔ)空間大等方面的特點(diǎn),在很大程度上提升了高職院校的學(xué)生信息管理效率,逐漸實(shí)現(xiàn)了高職院校學(xué)生信息管理的科學(xué)化、規(guī)范化發(fā)展。
3.目前的學(xué)生管理系統(tǒng)大多缺乏頂層設(shè)計(jì),數(shù)據(jù)不能共享
目前,各高校均開(kāi)發(fā)了一些信息管理系統(tǒng),但這些系統(tǒng)基本是為了學(xué)生管理中的某一特定職能而開(kāi)發(fā)的,比如學(xué)生的學(xué)習(xí)管理、公寓管理、評(píng)獎(jiǎng)評(píng)優(yōu)管理等等。這些系統(tǒng)之間缺乏信息的交換和共享,因此經(jīng)常會(huì)出現(xiàn)同一學(xué)生的信息(入學(xué)籍狀態(tài))在不同系統(tǒng)里不一致。這樣的信息系統(tǒng)不但沒(méi)有提高工作效率,反而影響了工作進(jìn)展。
二、高職院校學(xué)生管理信息系統(tǒng)流程
高職院校對(duì)學(xué)生的信息管理設(shè)計(jì)的部門(mén)較多,其具體部門(mén)的管理內(nèi)容也不同,主要包括對(duì)學(xué)生的學(xué)籍管理、基本信息管理、成績(jī)管理、貧困助學(xué)管理和干部管理等十幾個(gè)方面。管理的部門(mén)主要涉及到教務(wù)處、學(xué)生工作處、就業(yè)工作處和社團(tuán)組織等。
三、高職院校學(xué)生信息管理系統(tǒng)結(jié)構(gòu)及模塊功能分析
高職院校學(xué)生綜合信息管理系統(tǒng)主要由用戶管理模塊、獎(jiǎng)助學(xué)貸管理模塊、困難生管理模塊、學(xué)業(yè)預(yù)警管理模塊、就業(yè)動(dòng)態(tài)管理模塊等構(gòu)成。其中,用戶管理模塊主要是學(xué)管老師、輔導(dǎo)員、就業(yè)指導(dǎo)老師。
1.獎(jiǎng)助學(xué)貸管理模塊
該模塊促使學(xué)生申請(qǐng)獎(jiǎng)助貸款的過(guò)程更加便捷、快速。同時(shí),也使在校家庭經(jīng)濟(jì)困難學(xué)生、輔導(dǎo)員、學(xué)院負(fù)責(zé)人員、學(xué)工部等人員及部門(mén)在此項(xiàng)工作中受益,使獎(jiǎng)助貸管理工作達(dá)到更好的流程化、網(wǎng)絡(luò)化、信息化,從而解決因由人工完成時(shí)因數(shù)據(jù)過(guò)多導(dǎo)致不必要的數(shù)據(jù)(貸款合同信息)的錯(cuò)誤、人工辦事效率低和工作量大、消耗大量的人力、物力等問(wèn)題。
2.困難生管理模塊
近年國(guó)家對(duì)高等院校中家庭經(jīng)濟(jì)困難的學(xué)生資助力度越來(lái)越大。實(shí)現(xiàn)各項(xiàng)資助準(zhǔn)確無(wú)誤處理,有助于加強(qiáng)學(xué)校對(duì)困難生的服務(wù)和管理,簡(jiǎn)化困難資助申請(qǐng)的繁瑣過(guò)程,給困難生提供更加簡(jiǎn)潔、方便的服務(wù)渠道。學(xué)校為他們提供哪些勤工助學(xué)崗位等,提高了勤工助學(xué)崗位服務(wù)和管理的效率性和科學(xué)性。
3.學(xué)業(yè)預(yù)警管理模塊
學(xué)業(yè)預(yù)警是指學(xué)校針對(duì)學(xué)生在求學(xué)過(guò)程中出現(xiàn)的學(xué)業(yè)不佳、違規(guī)違紀(jì)等現(xiàn)象對(duì)學(xué)生本人及家長(zhǎng)做出及時(shí)提示并采取相關(guān)措施以幫助學(xué)生順利完成學(xué)業(yè)的一種監(jiān)督管理制度。因此利用學(xué)業(yè)預(yù)警機(jī)制對(duì)學(xué)生學(xué)業(yè)進(jìn)行實(shí)時(shí)動(dòng)態(tài)監(jiān)控、成績(jī)預(yù)測(cè)和預(yù)警不僅能幫助學(xué)生有效規(guī)避學(xué)業(yè)危機(jī)、引導(dǎo)和督促學(xué)生科學(xué)學(xué)習(xí)、給家長(zhǎng)一個(gè)好的交代,還可以保障學(xué)校教育教學(xué)質(zhì)量,促進(jìn)建設(shè)和諧高校。
4.就業(yè)動(dòng)態(tài)管理模塊
系統(tǒng)可以對(duì)學(xué)生就業(yè)過(guò)程進(jìn)行動(dòng)態(tài)管理,同時(shí)實(shí)現(xiàn)學(xué)校、畢業(yè)學(xué)生、企業(yè)三方協(xié)議電子化。用戶可以利用電腦或手機(jī)等移動(dòng)終端,從學(xué)院、企業(yè)、學(xué)生三個(gè)不同入口登陸系統(tǒng)并根據(jù)自身需求開(kāi)展訂制服務(wù),企業(yè)或?qū)W院可以根據(jù)畢業(yè)生不同階段需求和求職意愿,精準(zhǔn)推送相應(yīng)的就業(yè)政策、崗位信息、指導(dǎo)服務(wù)等。
四、高職院校學(xué)生綜合信息管理系統(tǒng)設(shè)計(jì)
1.系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
2.接口設(shè)計(jì)
本系統(tǒng)接口的設(shè)計(jì)采用ado.net技術(shù)來(lái)實(shí)現(xiàn)。其主要特點(diǎn)是與 xml 高度集成,斷開(kāi)式數(shù)據(jù)結(jié)構(gòu),可以將來(lái)自多個(gè)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行組合。當(dāng)用戶選擇了具體的數(shù)據(jù)層后,系統(tǒng)需要做的只有對(duì)數(shù)據(jù)層中的數(shù)據(jù)提供者進(jìn)行修改,從而大大提高了系統(tǒng)的靈活性。本系統(tǒng)采用.net 數(shù)據(jù)提供程序用于 sql server 2008 數(shù)據(jù)庫(kù)的連接。這種連接程序通過(guò) sql server 內(nèi)置數(shù)據(jù)轉(zhuǎn)換協(xié)議實(shí)現(xiàn)了與 sql server 的直接通信,從而達(dá)到了優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)的目的。
3.軟件設(shè)計(jì)
4.維護(hù)設(shè)計(jì)
為確保系統(tǒng)正式運(yùn)行后可以維持長(zhǎng)期穩(wěn)定、高效和安全的運(yùn)行狀態(tài),本系統(tǒng)對(duì)于維護(hù)功能的設(shè)計(jì)與實(shí)現(xiàn)采用的是 tcp/ip 協(xié)議與防火墻、網(wǎng)路管理、虛擬專用網(wǎng)等現(xiàn)代網(wǎng)絡(luò)安全技術(shù)相結(jié)合的方式,利用這些技術(shù)構(gòu)建出安全性高、穩(wěn)定性強(qiáng)的開(kāi)放式網(wǎng)絡(luò)應(yīng)用平臺(tái),可以實(shí)現(xiàn)成千上萬(wàn)網(wǎng)絡(luò)系統(tǒng)的互連。整體而言,該系統(tǒng)的規(guī)模還是相對(duì)較小的,因此維護(hù)工作較為簡(jiǎn)單方便,維護(hù)功能易于實(shí)現(xiàn)。
五、總結(jié)
第二篇:學(xué)生信息管理系統(tǒng)設(shè)計(jì)報(bào)告
學(xué)生信息管理系統(tǒng)設(shè)計(jì)報(bào)告
080370104 馬中源
一、設(shè)計(jì)目的
作為C#課程結(jié)課設(shè)計(jì),驗(yàn)證自身的學(xué)習(xí)效果,同時(shí)希望利用所學(xué)的基本知識(shí)和技能,進(jìn)行簡(jiǎn)單數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)。希望通過(guò)項(xiàng)目實(shí)踐,熟悉鞏固所學(xué)知識(shí),以使自身達(dá)到熟練掌握.NET基本結(jié)構(gòu)以及C#語(yǔ)言的基本知識(shí)和技能,基本掌握面向?qū)ο蟪绦蜷_(kāi)發(fā)的基本思路和方法,了解ADO.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)基本知識(shí),為今后的進(jìn)一步深入學(xué)習(xí),奠定基礎(chǔ)。
二、需求分析
學(xué)生管理系統(tǒng)的開(kāi)發(fā)目的是為了實(shí)現(xiàn)學(xué)生課程、學(xué)籍的信息化管理。本系統(tǒng)需要完成的功能有:班級(jí)管理、學(xué)生管理、科目管理、課程管理、成績(jī)管理以及系統(tǒng)管理員才具有的教師管理和用戶管理。
1.班級(jí)管理:可對(duì)班級(jí)進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,班級(jí)屬性有:名稱、班主任(來(lái)自于系統(tǒng)中保存的教師)、當(dāng)前學(xué)生人數(shù)、建班日期和備注等屬性。2.學(xué)生管理:可對(duì)學(xué)生進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,學(xué)生屬性有:學(xué)號(hào)、姓名、性別、所屬班級(jí)(來(lái)自于系統(tǒng)中保存的班級(jí))、相片、出生日期和備注等屬性。
3.科目管理:可對(duì)科目進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,科目屬性有:科目名稱、學(xué)時(shí)數(shù)和備注等屬性。
4.課程管理:可對(duì)每一個(gè)班級(jí)的上課科目進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,課程屬性有:所屬班級(jí)(來(lái)自于系統(tǒng)中保存的班級(jí))、授課老師(來(lái)自于系統(tǒng)中保存的教師)、開(kāi)課日期、結(jié)課日期和備注等屬性。
5.成績(jī)管理:可對(duì)每一個(gè)班級(jí)的上課科目的學(xué)生成績(jī)進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,成績(jī)屬性有:學(xué)生姓名、所屬班級(jí)(來(lái)自于系統(tǒng)中保存的班級(jí))、課程名、成績(jī)、備注等屬性。
6.系統(tǒng)管理:該模塊的主要任務(wù)是維護(hù)系統(tǒng)的正常運(yùn)行和安全性設(shè)置,包括添加用戶、修改密碼、重新登錄等等。
三、系統(tǒng)模塊的實(shí)現(xiàn)
在系統(tǒng)中包括以下功能:系統(tǒng)管理、學(xué)生信息管理、課程信息管
理、成績(jī)信息管理、班級(jí)信息管理。系統(tǒng)各模塊關(guān)系如圖所示:
本系統(tǒng)共分為三大部分:
1、登錄模塊
為了系統(tǒng)的安全,在進(jìn)入系統(tǒng)之前首先會(huì)出現(xiàn)一個(gè)登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進(jìn)入系統(tǒng)。
用戶登錄窗體中放置了兩個(gè)文本框(Textbox),用來(lái)輸入用戶名和密碼;兩個(gè)按鈕(Button)用來(lái)確定或者取消登錄。
設(shè)置一個(gè)SSTab控件,供不同用戶登錄時(shí)選擇用戶權(quán)限,超級(jí)用戶擁有一切權(quán)限(包括添加刪除和修改以及對(duì)用戶的管理),普通用戶擁有受限制的權(quán)限(查詢及修改密碼),提高了數(shù)據(jù)庫(kù)的安全性。
添加一個(gè)ToolTip組件,提示用戶輸入正確的用戶名和密碼形式,提示用戶密碼是佛正確。登陸條件判斷代碼:
private void button1_Click(object sender, EventArgs e){ if(this.textBox1.Text == “" || this.textBox2.Text == ”“){ MessageBox.Show(”用戶名或密碼不能為空!“);} SqlConnection conn = new SqlConnection(connString);string str = ”select * from Users where UserName='“ + this.textBox1.Text.Trim()+ ”'“;try { conn.Open();SqlCommand cmd = new SqlCommand(str, conn);SqlDataReader read = cmd.ExecuteReader();if(read.Read()){ if(textBox2.Text.Trim()== read[”UserPassWord“].ToString().Trim()){ MessageBox.Show(”用戶正確,歡迎您使用本系統(tǒng)!“);this.Hide();主界面 fm = new 主界面();fm.Show();} else { MessageBox.Show(”密碼錯(cuò)誤,請(qǐng)重新輸入!“);} } } catch(Exception ex){ MessageBox.Show(ex.Message);} conn.Close();} private void button2_Click(object sender, EventArgs e){ Application.Exit();}
2、系統(tǒng)主界面模塊
登陸成功后,即可進(jìn)入,系統(tǒng)主界面模塊。窗體名稱為界面功能介紹。主界面為進(jìn)入學(xué)生管理系統(tǒng)各模塊的入口,用戶可根據(jù)MenuStrip上面各個(gè)模塊名稱單擊進(jìn)入各個(gè)管理模塊,從而進(jìn)行對(duì)系統(tǒng)的管理操作。主界面入口代碼:
private void 學(xué)生增刪ToolStripMenuItem_Click(object sender, EventArgs e){ 學(xué)生管理 fm4 = new 學(xué)生管理();fm4.Show();} private void 課程管理ToolStripMenuItem_Click(object sender, EventArgs e){ 課程管理 fm7 = new 課程管理();fm7.Show();} private void 科目管理ToolStripMenuItem_Click(object sender, EventArgs e){ 科目管理 fm8 = new 科目管理();fm8.Show();} private void 成績(jī)管理ToolStripMenuItem_Click(object sender, EventArgs e){ 成績(jī)管理 fm10 = new 成績(jī)管理();fm10.Show();} private void 用戶管理ToolStripMenuItem_Click(object sender, EventArgs e){ 用戶管理 fm12 = new 用戶管理();fm12.Show();} private void 修改密碼ToolStripMenuItem_Click(object sender, EventArgs e){ 更改密碼 fm14 = new 更改密碼();fm14.Show();} private void 班級(jí)管理ToolStripMenuItem_Click(object sender, EventArgs e){ 班級(jí)管理 fm2 = new 班級(jí)管理();fm2.Show();}
3、各功能模塊 1.用戶管理: 可對(duì)用戶進(jìn)行添加、刪除、修改、查找等功能,用戶屬性有:用戶名、密碼、用戶類型、用戶權(quán)限、用戶注冊(cè)日期等信息。在用戶管理界面,用戶可根據(jù)自身權(quán)限查看用戶信息,系統(tǒng)超級(jí)管理員可根據(jù)需求進(jìn)行添加、刪除用戶等相關(guān)操作。
進(jìn)入用戶管理界面后,將會(huì)出現(xiàn)一個(gè)主窗體,選擇系統(tǒng)管理模塊下的添加用戶,就可以進(jìn)入添加用戶窗體,可以通過(guò)該窗體增加新的用戶。
在這個(gè)窗體中放置了三個(gè)文本框,用來(lái)輸入用戶名和密碼;兩個(gè)按鈕用來(lái)確定是否添加用戶;三個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的提示。用戶添加界面,超級(jí)管理員可通過(guò)本界面對(duì)用戶修改用戶類型,用戶權(quán)限設(shè)置。
1.4.2修改密碼窗體的創(chuàng)建
在系統(tǒng)管理模塊下,進(jìn)入修改密碼窗體,用戶可根據(jù)需要修改自己的密碼。在這個(gè)窗體中放置了兩個(gè)文本框,用來(lái)輸入密碼和確認(rèn)密碼;兩個(gè)按鈕用來(lái)確定是否修改密碼;兩個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的內(nèi)容。密碼修改界面主要包括用戶名、新設(shè)置密碼、以及確認(rèn)等功能。主要供普通用戶進(jìn)行密碼修改、以及密碼清除操作。2.班級(jí)管理:
班級(jí)信息管理界面
班級(jí)屬性有:名稱、班主任(來(lái)自于系統(tǒng)中保存的教師)、當(dāng)前學(xué)生人數(shù)、建班日期和備注等屬性。班級(jí)管理模塊主要分為班級(jí)信息管理和班級(jí)查詢兩個(gè)界面,班級(jí)基本信息管理界面中的Groupbox班級(jí)檔案,顯示班級(jí)編號(hào)、班級(jí)名稱、學(xué)制、專業(yè)、班主任、開(kāi)班日期、備注等基本信息情況。DataGridView顯示數(shù)據(jù)庫(kù)中班級(jí)詳細(xì)信息以及伴隨操作產(chǎn)生的數(shù)據(jù)變動(dòng)情況。在本操作界面內(nèi),管理員可對(duì)班級(jí)信息進(jìn)行添加、刪除、修改等各種操作。
班級(jí)查詢界面
班級(jí)查詢界面,主要實(shí)現(xiàn)班級(jí)基本信息的查詢,面向沒(méi)有管理權(quán)限的普通用戶訪問(wèn)系統(tǒng)信息,根據(jù)班級(jí)編號(hào)對(duì)班級(jí)信息進(jìn)行查詢操作,詳細(xì)信息會(huì)在窗體上面DataGridView中顯示,普通用戶只能瀏覽信息,不能進(jìn)行刪除、修改等管理權(quán)限操作。3.課程管理:
課程管理模塊主要分為課程管理界面和教師管理界面兩部分實(shí)現(xiàn)。
課程管理界面中的DataGridView顯示課程基本信息,包括科目編號(hào)、班級(jí)編號(hào)、開(kāi)課學(xué)期、教師編號(hào)、開(kāi)課日期、捷克日期等基本信息。管理員可對(duì)每一個(gè)班級(jí)的上課科目進(jìn)行添加、刪除、修改、查找等功能,也可對(duì)全部課程進(jìn)行查看、修改、添加、刪除等基本操作。
sql = ”select * from ClassCourse“;da = new SqlDataAdapter(sql, connString);ds = new DataSet();da.Fill(ds, ”ClassCourse“);binds = new BindingSource(ds, ”ClassCourse“);dataGridView1.DataSource = binds;
教師管理模塊主要包括教師基本檔案,教師屬性為編號(hào)、姓名、聯(lián)系電話、教師姓名、任教年限、性別、專業(yè)、出生年月。在教師管理模塊可進(jìn)行相應(yīng)的查詢與信息修改。4.課程管理模塊
課程信息瀏覽功能:點(diǎn)擊主窗體中課程管理模塊下的科目信息瀏覽,可進(jìn)入科目信息瀏覽窗體。為了用戶的使用方便,我使用了SSTab控件,故在該窗體中同時(shí)包含了科目信息的添加和修改的功能。并且我還在窗體上設(shè)置了myflexgrid控件。添加和修改記錄后,對(duì)于數(shù)據(jù)有何變化都可以在myflexgrid中顯示出來(lái),使用戶對(duì)所做的操作一目了然。
課程設(shè)置功能:進(jìn)入課程管理模塊下的年級(jí)課程設(shè)置窗體,可以對(duì)每一個(gè)年級(jí)的課程進(jìn)行設(shè)置。
SqlConnection conn = new SqlConnection(connString);string sql = ”Insert into ClassCourse values(“ + ”'“ + textBox1.Text + ”','“ + textBox2.Text + ”',“ + textBox3.Text + ”,'“ + textBox4.Text + ”','“ + DateTime.Parse(dateTimePicker1.Text)+ ”','“ + DateTime.Parse(dateTimePicker2.Text)+ ”')“;try { conn.Open();MessageBox.Show(”打開(kāi)數(shù)據(jù)庫(kù)連接成功“);SqlCommand cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();MessageBox.Show(”添加記錄成功!“);
} catch(SqlException ex){ MessageBox.Show(”數(shù)據(jù)庫(kù)連接失?。 ?+ ”添加記錄失??!“ + ex.Message);}
可對(duì)科目進(jìn)行添加、刪除、修改、查找等功能,修改
SqlConnection conn = new SqlConnection(connString);string sql = ”Update ClassCourse set CourseNo='“ + textBox1.Text + ”',“ + ”ClassNo='“ + textBox2.Text + ”',“ + ”StartTerm=“ + textBox3.Text + ”,“ + ”TeaNo='“ + textBox4.Text + ”',“ + ”StartData='“ + DateTime.Parse(dateTimePicker1.Text)+ ”',“ + ”FinishData='“ + DateTime.Parse(dateTimePicker2.Text)+ ”'“ + ”where CourseNo=“ + temp;try { conn.Open();MessageBox.Show(”打開(kāi)數(shù)據(jù)庫(kù)連接成功“);SqlCommand cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();MessageBox.Show(”修改記錄成功!“);
} catch(SqlException ex){ MessageBox.Show(”數(shù)據(jù)庫(kù)連接失??!“ + ”修改記錄失敗!“ + ex.Message);}
科目管理模塊科目屬性主要包括科目名稱、學(xué)時(shí)數(shù)和備注等屬性。同時(shí)包括教師管理,教師管理包括教師姓名、電話、性別、科目、職稱等一系列基本信息;可對(duì)教師進(jìn)行添加、刪除、查詢等基本操作。5.成績(jī)管理模塊
成績(jī)添加代碼實(shí)現(xiàn)
SqlConnection conn = new SqlConnection(connString);string sql = ”Insert into Scores values(“ + ”'“ + textBox1.Text + ”','“ + textBox2.Text + ”','“ + textBox3.Text + ”')“;try { conn.Open();MessageBox.Show(”打開(kāi)數(shù)據(jù)庫(kù)連接成功“);SqlCommand cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();MessageBox.Show(”添加記錄成功!“);成績(jī)刪除代碼實(shí)現(xiàn)
SqlConnection conn = new SqlConnection(connString);DialogResult ret = MessageBox.Show(”確定要?jiǎng)h除嗎?“, ”刪除“, MessageBoxButtons.OKCancel);if(ret == DialogResult.Cancel)return;string sql = ”delete from Scores where StuNo=“ + textBox1.Text;SqlCommand cmd = new SqlCommand(sql, conn);try { conn.Open();int rows = cmd.ExecuteNonQuery();if(rows == 1)MessageBox.Show(”刪除成功!“, ”提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);成績(jī)查詢代碼實(shí)現(xiàn)
sql = ”select * from Scores where StuNo='“+textBox1.Text+”'“;da = new SqlDataAdapter(sql, connString);ds = new DataSet();da.Fill(ds, ”Scores“);binds = new BindingSource(ds, ”Scores“);dataGridView1.DataSource = binds;
成績(jī)管理模塊主要包括成績(jī)信息管理功能點(diǎn)擊成績(jī)管理模塊下的成績(jī)信息瀏覽,進(jìn)入成績(jī)信息瀏覽窗體,考慮到美觀和實(shí)用性,界面設(shè)置如下圖。用Frame控件在窗體中劃定一個(gè)可瀏覽成績(jī)信息地方,再在Frame中添加MSFlexGrid控件,運(yùn)行時(shí)將在MSFlexGrid中顯示所有學(xué)生的成績(jī)信息。使用Toolbar來(lái)建立工具條。點(diǎn)擊工具條中的修改、添加和查詢按鈕就可分別進(jìn)入修改成績(jī)信息窗體、添加成績(jī)信息窗體和查詢成績(jī)信息窗體。這三個(gè)窗體的界面設(shè)置分別類似于學(xué)籍管理下修改學(xué)籍信息窗體、添加學(xué)籍信息窗體和查詢學(xué)籍信息窗體。
成績(jī)管理模塊,管理員可對(duì)每一個(gè)班級(jí)的上課科目的學(xué)生成績(jī)進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,成績(jī)屬性有:學(xué)生姓名、所屬班級(jí)(來(lái)自于系統(tǒng)中保存的班級(jí))、課程名、成績(jī)、備注等屬性。6.學(xué)生管理模塊
添加學(xué)籍信息功能
SqlConnection conn = new SqlConnection(connString);//MemoryStream ms;//pictureBox1.Image.Save(ms);//byte[] img = ms.ToArray();string sql = ”Insert into Student(StuNo,StuName,StuSex,ClassNo,StuBday,StuAdress,StuPostNo,StuPhone,StuData,StuRemarks)values('“ + textBox1.Text + ”','“ + textBox2.Text + ”','“ + textBox3.Text + ”','“ + textBox4.Text + ”','“ + DateTime.Parse(dateTimePicker1.Text)+ ”','“ + textBox5.Text + ”','“ + textBox6.Text + ”','“ + textBox7.Text + ”','“ + DateTime.Parse(dateTimePicker2.Text)+ ”','“ + textBox8.Text + ”')“;SqlCommand cmd = new SqlCommand(sql,conn);try { conn.Open();MessageBox.Show(”數(shù)據(jù)庫(kù)連接成功!“);cmd.ExecuteNonQuery();MessageBox.Show(”添加記錄成功!“);
} catch(SqlException ex){ MessageBox.Show(ex.Message);}
選擇主窗體中學(xué)生管理模塊下的添加學(xué)籍信息,就可進(jìn)入添加學(xué)籍信息的窗體,在該窗體中我們可以對(duì)學(xué)生的學(xué)號(hào)、姓名、性別、出生日期、班號(hào)等學(xué)生的信息進(jìn)行添加。設(shè)計(jì)時(shí)我盡可能設(shè)想各種邊界條件,如記錄為空,輸入為空,輸入出錯(cuò)等,當(dāng)輸入的信息滿足這些邊界條件時(shí),將會(huì)彈出一個(gè)提示框提醒用戶,以便用戶能及時(shí)地做出修改。添加的信息將全部存儲(chǔ)到數(shù)據(jù)庫(kù)中。
在窗體上放置多個(gè)文本框和下拉式文本框,用來(lái)輸入學(xué)籍信息;兩個(gè)按鈕用來(lái)確定是否輸入學(xué)籍信息;一個(gè)按鈕用來(lái)退出窗體;多個(gè)標(biāo)簽用來(lái)提示文本框中需要輸入的內(nèi)容。在學(xué)生管理窗體下,可對(duì)學(xué)生進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,學(xué)生屬性有:學(xué)號(hào)、姓名、性別、所屬班級(jí)(來(lái)自于系統(tǒng)中保存的班級(jí))、相片、出生日期和備注等屬性。修改刪除學(xué)生信息
SqlConnection conn = new SqlConnection(connString);DialogResult ret = MessageBox.Show(”確定要?jiǎng)h除嗎?“, ”刪除“, MessageBoxButtons.OKCancel);if(ret == DialogResult.Cancel)return;string sql = ”delete from Student where StuNo=“ + temp;SqlCommand cmd = new SqlCommand(sql, conn);try { conn.Open();int rows = cmd.ExecuteNonQuery();if(rows == 1)MessageBox.Show(”刪除成功!“, ”提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);
} catch(SqlException ex){ MessageBox.Show(”數(shù)據(jù)庫(kù)連接失??!“ + ex.Message);} 點(diǎn)擊學(xué)籍管理模塊下的修改學(xué)籍信息,就進(jìn)入修改學(xué)籍信息的窗體,在該窗體中我們可以對(duì)前面添加的學(xué)籍信息進(jìn)行修改。由于用戶的需求不同,有的是要對(duì)學(xué)生的信息做個(gè)別的改動(dòng),有的是需要?jiǎng)h除該條記錄,所以該窗體同時(shí)包括了修改記錄的功能和刪除記錄的功能。又考慮到用戶的誤操作,為了方便,我在該窗體中增添了取消修改的功能,可一次性把輸入文本框的內(nèi)容全部置空。查詢學(xué)籍信息功能
//string conn = ”Initial Catalog=Mazhongyuan;Data Source =localhost;Integrated Security=true“;SqlConnection connection = new SqlConnection(connString);
SqlDataAdapter adapter = new SqlDataAdapter(”select * from Student ",connection);DataTable table = new DataTable();adapter.Fill(table);dataGridView1.DataSource = table;進(jìn)入學(xué)籍管理模塊下的查詢學(xué)籍信息窗體,在該窗體中可以對(duì)學(xué)生的信息進(jìn)行查詢,有三種查詢方式。我在設(shè)計(jì)時(shí),一方面考慮到簡(jiǎn)潔的因素,用戶可以只設(shè)置一種查詢方式進(jìn)行查詢;另一方面又為了避免數(shù)據(jù)的重復(fù),用戶可以輸入詳細(xì)的信息,也就是同時(shí)設(shè)置多種查詢方式進(jìn)行查詢。進(jìn)入查詢窗體時(shí),myflexgrid中會(huì)顯示出所有學(xué)生的學(xué)籍信息,如果不設(shè)置查詢方式就進(jìn)行查詢,是無(wú)效查詢,系統(tǒng)會(huì)給出提示。在設(shè)置好查詢方式后,便開(kāi)始查詢,將在myflexgrid中顯示出用戶所需的學(xué)生的學(xué)籍信息。
四、系統(tǒng)測(cè)試
在開(kāi)發(fā)這個(gè)軟件系統(tǒng)的過(guò)程中,面對(duì)著極其錯(cuò)綜復(fù)雜的問(wèn)題,人的主觀認(rèn)識(shí)不可能完全符合客觀現(xiàn)實(shí),在本次設(shè)計(jì)過(guò)程中,我采用循環(huán)測(cè)試法,力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格技術(shù)審查,即每完成一個(gè)功能,就進(jìn)行測(cè)試,盡可能早的發(fā)現(xiàn)并糾正差錯(cuò),完成模塊測(cè)試之后再進(jìn)行系統(tǒng)測(cè)試。在該設(shè)計(jì)中,我偏重考慮了當(dāng)用戶輸入的信息出錯(cuò)時(shí),系統(tǒng)就會(huì)出現(xiàn)提示,以便讓用戶知道出錯(cuò)的原因,并能及時(shí)做出修改,所以我站在用戶的角度考慮,盡可能設(shè)想各種邊界條件,如記錄為空,輸入為空,輸入出錯(cuò)等,以此來(lái)發(fā)現(xiàn)錯(cuò)誤,糾正錯(cuò)誤,取得了一定的效果。
當(dāng)然,該學(xué)生信息管理系統(tǒng)也存在一些不足之處。在成績(jī)管理界面,當(dāng)3次改變成績(jī)?yōu)椴煌膬?nèi)容時(shí),程序會(huì)出錯(cuò)。雖然嘗試了很多方法,仍不能解決。再一點(diǎn)就是關(guān)于打印和年級(jí)課程信息設(shè)置都未能實(shí)現(xiàn),這有待于以后的進(jìn)一步提高。
一個(gè)應(yīng)用系統(tǒng)性能的優(yōu)劣,效率的高低始終應(yīng)當(dāng)由用戶來(lái)做出判決,應(yīng)用系統(tǒng)在運(yùn)行過(guò)程中,用戶會(huì)提出一些新的需求和建議,我就會(huì)根據(jù)用戶需求的變化,對(duì)本系統(tǒng)做出一定的修改,使其進(jìn)一步地得到完善和提高。
五、課程設(shè)計(jì)總結(jié)
通過(guò)本次課程設(shè)計(jì),驗(yàn)證了本學(xué)期對(duì)C#的學(xué)習(xí)效果,同時(shí)利用所學(xué)的基本知識(shí)和技能,嘗試進(jìn)行簡(jiǎn)單數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)。通過(guò)本次項(xiàng)目實(shí)踐,熟悉鞏固了本學(xué)期所學(xué)軟件設(shè)計(jì)知識(shí),達(dá)到熟練掌握.NET基本結(jié)構(gòu)以及C#語(yǔ)言的基本知識(shí)和技能,基本掌握面向?qū)ο蟪绦蜷_(kāi)發(fā)的基本思路和方法,了解ADO.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)基本知識(shí),為今后的進(jìn)一步深入學(xué)習(xí),奠定了基礎(chǔ)。
參考資料 C#程序設(shè)計(jì) C#實(shí)用軟件開(kāi)發(fā) 數(shù)據(jù)庫(kù)設(shè)計(jì)
第三篇:3.學(xué)生信息管理系統(tǒng)設(shè)計(jì)范文
學(xué)生信息管理系統(tǒng)設(shè)計(jì)(限最多2人完成)
學(xué)生信息包括:學(xué)號(hào),姓名,年齡,性別,出生年月,地址,電話,E-mail等。試設(shè)計(jì)學(xué)生信息管理系統(tǒng),使之能提供以下功能:
系統(tǒng)以菜單方式工作
學(xué)生信息錄入功能(學(xué)生信息用文件保存)---輸入
學(xué)生信息瀏覽功能---輸出
查詢、排序功能---算法
按學(xué)號(hào)查詢
按姓名查詢
學(xué)生信息的刪除與修改(可選項(xiàng)
#include
#include
#include
#include
struct student{
int id;
char name[10];
float C;
float JAVA;
float SQL;
float pingjun;
}st[50];
int i=0;
void shuru()//輸入學(xué)員信息函數(shù)
{
char a;
do{
printf(“n請(qǐng)輸入學(xué)號(hào):”);
scanf(“%d”,&st[i].id);
fflush(stdin);
printf(“n請(qǐng)輸入姓名:”);
gets(st[i].name);
printf(“請(qǐng)輸入C語(yǔ)言成績(jī):”);
scanf(“%f”,&st[i].C);
printf(“n請(qǐng)輸入JAVA成績(jī):”);
scanf(“%f”,&st[i].JAVA);
printf(“n請(qǐng)輸入SQL成績(jī):”);
scanf(“%f”,&st[i].SQL);
st[i].pingjun=(st[i].C+st[i].JAVA+st[i].SQL)/3;//計(jì)算平均分
printf(“n是否繼續(xù)輸入另外一個(gè)學(xué)員信息?(y/n)”);
fflush(stdin);
a=getchar();
i++;
}while(a=='y' && i<=50);
}
void xianshi()//顯示輸入后的學(xué)員信息函數(shù)
{
int j;
printf(“t學(xué)號(hào)tt姓名ttC語(yǔ)言ttJAVAttSQLtt平均分n”);
for(j=0;j
printf(“ t%dtt%s tt%.2ftt%.2ftt%.2ftt%.2fn”,st[j].id,st[j].name,st[j].C,st[j].JAVA,st[j].SQL,st[j].pingjun);}
void paixu()//按平均分從大到小排序函數(shù)
{
int j,k;
float temp;
for(j=0;j
{
for(k=0;k { if(st[k].pingjun { temp=st[k].pingjun; st[k].pingjun=st[k+1].pingjun; st[k+1].pingjun=temp; } } } xianshi();//排序后輸出 } void chazhao()//查找某個(gè)學(xué)員的信息函數(shù) { int m; char name[20],b; do { printf(“n請(qǐng)輸入想查找的學(xué)員姓名:”); fflush(stdin); gets(name); for(m=0;m { if(strcmp(name,st[m].name)==0) { printf(“ntt您查找的學(xué)員在第%d個(gè)位置找到了!!n”,m+1); break; } } if(m>=20) printf(“ntt沒(méi)有找到這個(gè)學(xué)員!!n”); else { printf(“t學(xué)號(hào)tt姓名ttC語(yǔ)言ttJAVAttSQLtt平均分n”); printf(“ t%dtt%s tt%.2ftt%.2ftt%.2ftt%.2fn”,st[m].id,st[m].name,st[m].C,st[m].JAVA,st[m].SQL,st[m].pingjun); } printf(“n是否查找另一個(gè)學(xué)員的信息?(y/n)”); fflush(stdin); b=getchar(); }while(b=='y'); } void shanchu()//刪除學(xué)員信息函數(shù) { char name[20],c; int a,b; do { printf(“n請(qǐng)輸入要?jiǎng)h除的學(xué)員姓名:n”); fflush(stdin); gets(name); for(a=0;a { if(strcmp(name,st[a].name)==0) break; } for(b=a;b st[b]=st[b+1]; if(a>i) printf(“tt沒(méi)有找到這個(gè)學(xué)員!!n”); else { i--; xianshi(); } printf(“n是否繼續(xù)刪除另一個(gè)學(xué)員信息?(y/n)”);fflush(stdin); c=getchar(); }while(c=='y'); } void charu() { shuru(); paixu(); } void main()//主函數(shù) { int change; do{ system(“cls”); printf(“============================學(xué)===================================n”);printf(“ttt一: 輸入學(xué)員信息n”); printf(“ttt二: 顯示學(xué)員信息n”); printf(“ttt三: 查找學(xué)員信息n”); printf(“ttt四: 刪除學(xué)員信息n”); printf(“ttt五: 插入學(xué)員信息n”); printf(“ttt六: 退出程序n”); fflush(stdin); printf(“ttt請(qǐng)輸入功能選項(xiàng):”); scanf(“%d”,&change); switch(change) { case 1: shuru();break; case 2: xianshi();break; case 3: chazhao();break; case 4: 員信息管理系統(tǒng) shanchu();break;case 5: charu();break;case 6: break;} getch(); }while(change!=6);} 摘 要 隨著網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展和信息技術(shù)的廣泛應(yīng)用,計(jì)算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。教育領(lǐng)域也不例外,現(xiàn)今已經(jīng)出現(xiàn)了各種遠(yuǎn)程網(wǎng)絡(luò)在線教育系統(tǒng)、圖書(shū)館管理系統(tǒng)、學(xué)生信息管理系統(tǒng)等。其中學(xué)生信息管理是任一院校都不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和教學(xué)管理者來(lái)說(shuō)都至關(guān)重要,而傳統(tǒng)的人工管理方式效率較低,為數(shù)據(jù)的查詢、更新和維護(hù)帶來(lái)了極大的不便。所以學(xué)生信息管理信息系統(tǒng)的開(kāi)發(fā)和應(yīng)用是必要的,它能夠?yàn)楣芾砣藛T提供充足的信息和快捷的查詢手段,提高學(xué)校對(duì)學(xué)生信息的管理效率。 本文的學(xué)生信息管理系統(tǒng)是基于java語(yǔ)言的,它能夠提供學(xué)生信息管理功能,方便系統(tǒng)管理員對(duì)學(xué)生學(xué)號(hào)、班級(jí)等信息的添加、修改、刪除、查詢等操作,同時(shí)可以一樣方便的對(duì)學(xué)生的信息進(jìn)行查詢。本系統(tǒng)也主要利用java語(yǔ)言和access實(shí)現(xiàn),因此它具有很強(qiáng)的可移植性,很方便。 關(guān)鍵字: 學(xué)生信息 管理系統(tǒng) 添加 刪除 查詢 修改 Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are essential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is necessary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, class and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and access, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise 前言 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,信息時(shí)代的到來(lái),信息改變了我們這個(gè)社會(huì)。學(xué)校在管理、教學(xué)、辦公各個(gè)方面也在悄悄地變化。一個(gè)學(xué)校的信息化程度體現(xiàn)在將計(jì)算器與信息技術(shù)應(yīng)用于教學(xué)與管理,以現(xiàn)代化工具代替?zhèn)鹘y(tǒng)手工作業(yè)。無(wú)疑,使用信息化管理使教學(xué)更先進(jìn)、辦公更高效、管理更科學(xué),信息交流更迅速。 學(xué)生成績(jī)管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生成績(jī)信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情,故決定選擇學(xué)生成績(jī)管理系統(tǒng)來(lái)作為本人的畢業(yè)設(shè)計(jì),在很短的時(shí)間里開(kāi)發(fā)出一套界面友好,功能強(qiáng)大,使用簡(jiǎn)單的適用于各規(guī)模學(xué)院的學(xué)生成績(jī)管理系統(tǒng)。該學(xué)生成績(jī)管理系統(tǒng)能有效的處理在校學(xué)生的成績(jī)管理,具有成績(jī)輸入、成績(jī)查詢、成績(jī)統(tǒng)計(jì)及打印功能。 學(xué)生成績(jī)管理系統(tǒng)可以實(shí)施應(yīng)用在各中、大、小院校中,適用范圍很廣,應(yīng)用性強(qiáng)。隨著系統(tǒng)實(shí)施的日益成熟,最終會(huì)使單機(jī)作業(yè)為主的教學(xué)管理活動(dòng)提高到這個(gè)平臺(tái)上來(lái),從而實(shí)現(xiàn)學(xué)校學(xué)生成績(jī)信息管理的辦公自動(dòng)化,籍以提高辦學(xué)效率和質(zhì)量。使學(xué)校充分利用計(jì)算機(jī)所帶來(lái)的新技術(shù),為培養(yǎng)人才打下堅(jiān)實(shí)的基礎(chǔ)。 第一章 相關(guān)技術(shù)簡(jiǎn)介 1.1 java語(yǔ)言簡(jiǎn)介 Java語(yǔ)言是sun公司與1995年5月正式發(fā)布的程序設(shè)計(jì)語(yǔ)言,他的前身是sun公司為智能消費(fèi)類家用電器研究而開(kāi)發(fā)的項(xiàng)目的一部分。 Java程序設(shè)計(jì)語(yǔ)言是新一代語(yǔ)言的代表,他強(qiáng)調(diào)了面向?qū)ο蟮奶匦?,可以用?lái)開(kāi)發(fā)范圍廣泛的軟件,它具有支持圖形化的用戶界面,網(wǎng)格以及數(shù)據(jù)庫(kù)連接等復(fù)雜功能。Java語(yǔ)言的主要特點(diǎn): 1)易于學(xué)習(xí) Java語(yǔ)言很簡(jiǎn)單,對(duì)于熟悉C++的程序設(shè)計(jì)人員更不會(huì)對(duì)其感到陌生,因 為它的語(yǔ)法非常接近于C++,但他同時(shí)摒棄了C++許多的復(fù)雜易混淆的功能。利用java同樣可以變質(zhì)出非常復(fù)雜的系統(tǒng),且運(yùn)行占用很少的內(nèi)存資源。2)高效率的執(zhí)行方式 Java語(yǔ)言的執(zhí)行方式是采用先經(jīng)過(guò)編譯器編譯,在通過(guò)解釋器解釋執(zhí)行的 方式來(lái)運(yùn)行的。他綜合了解釋性語(yǔ)言與編譯語(yǔ)言的眾多有點(diǎn),使其執(zhí)行效率較以往的程序設(shè)計(jì)語(yǔ)言有了大幅度的提高。3)與平臺(tái)的無(wú)關(guān)性 由于iava語(yǔ)言是解釋執(zhí)行的,他會(huì)被轉(zhuǎn)換成一種字節(jié)碼的“目標(biāo)程序”。因此它可以跨平臺(tái)運(yùn)行 4)分布式安全性 Java從誕生之日起就與網(wǎng)絡(luò)聯(lián)系在了一起,他強(qiáng)調(diào)網(wǎng)絡(luò)特性,內(nèi)置TCPIP,HTTP,F(xiàn)TP協(xié)議庫(kù),便于開(kāi)發(fā)網(wǎng)上應(yīng)用系統(tǒng)。5)豐富的API文檔和類庫(kù) Java為用戶提供了詳盡的API(Application Program Interface)文檔說(shuō)明。 1.2 access數(shù)據(jù)庫(kù)簡(jiǎn)介 Microsoft Office Access是微軟把數(shù)據(jù)庫(kù)引擎的圖形用戶界面和軟件開(kāi)發(fā)工具結(jié)合在一起的一個(gè)數(shù)據(jù)庫(kù)管理。他擁有邏輯、流程處理,即VBA語(yǔ)言(VB也可以用來(lái)做邏輯處理);又可以存儲(chǔ)數(shù)據(jù),即在“表”中存儲(chǔ)數(shù)據(jù)。 第二章 系統(tǒng)分析 2.1 系統(tǒng)分析 學(xué)生信息管理系統(tǒng),可用于學(xué)校等機(jī)構(gòu)的學(xué)生信息管理,查詢,更新與維護(hù),使用方便,易用性強(qiáng),圖形界面清晰明了。該軟件用java語(yǔ)言編寫(xiě),用access數(shù)據(jù)庫(kù)作為后臺(tái)的數(shù)據(jù)庫(kù)進(jìn)行信息的存儲(chǔ),用SQL語(yǔ)句完成學(xué)生學(xué)籍信息的添加,查詢,修改,刪除的操作以及成績(jī)的錄入,修改,刪除等。用ODBC驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái)Java與后臺(tái)SQL數(shù)據(jù)庫(kù)的連接。Java語(yǔ)言跨平臺(tái)性強(qiáng),可以在windows,linux,ubuntu等系統(tǒng)下使用,方便簡(jiǎn)單,安全性好。 本《學(xué)生管理系統(tǒng)》具有對(duì)學(xué)生進(jìn)行學(xué)籍管理的功能。并于數(shù)據(jù)庫(kù)相連接,能夠?qū)W(xué)生的學(xué)號(hào)、姓名、性別、班級(jí)、專業(yè)進(jìn)行查詢、添加和刪除等,簡(jiǎn)捷方便,容易使用。2.2 應(yīng)解決的問(wèn)題 2.2.1合理的設(shè)計(jì)數(shù)據(jù)庫(kù) 盡量合理地減少數(shù)據(jù)庫(kù)數(shù)據(jù)的冗余,使重復(fù)的數(shù)據(jù)保持在最小限度,這樣將不必要的多占用存儲(chǔ)空間,減少產(chǎn)生混亂影響的危險(xiǎn),還能提高計(jì)算機(jī)的運(yùn)行速度。作為學(xué)生成績(jī)管理系統(tǒng),必須能解決以下方面的問(wèn)題:能錄入信息。 在開(kāi)發(fā)學(xué)生信息管理系統(tǒng)時(shí),最重要的就是學(xué)生的基本信息,其學(xué)生信息表E-R圖如圖2.1所示。 圖 2.1 學(xué)生信息E-R圖 2.2.2設(shè)計(jì)出友好的界面 界面的友好與否是用戶評(píng)價(jià)一個(gè)軟件優(yōu)劣的重要方面。因?yàn)樵撓到y(tǒng)涉及到 學(xué)生成績(jī)的真實(shí)性,所以該系統(tǒng)要具有一定的保密性和權(quán)限控制,首先應(yīng)設(shè)計(jì)一個(gè)用戶的登陸窗口界面,要求只能由特定的人員對(duì)該系統(tǒng)進(jìn)行操作。此外還應(yīng)設(shè)計(jì)登陸后系統(tǒng)的主窗口,要求能夠顯示學(xué)生成績(jī)的基本信息,可以實(shí)現(xiàn)數(shù)據(jù)的錄入,更新,刪除、查詢、統(tǒng)計(jì)等功能。 另外窗口界面要多用按鈕,少用菜單,窗口的各個(gè)控鍵布局要合理,美觀。要充分的利用java.awt和java.swing提供的強(qiáng)大的功能,多用窗口和控件,充分體現(xiàn)窗口的多元化格局。 2.2.3實(shí)現(xiàn)的基本功能 該系統(tǒng)要求除了能實(shí)現(xiàn)信息的錄入,刪除,插入,更新,數(shù)據(jù)導(dǎo)出excel文件等基本功能之外,還要求能夠根據(jù)用戶的需要進(jìn)行操作。例如要查詢學(xué)生成績(jī),要求可以按照專業(yè)、班級(jí)等多種方式查詢。這些功能基本上能滿足用戶操作的需要,這樣用戶操作起來(lái)就更簡(jiǎn)單方便。部分文本框使用了下拉式,使用戶可以不用花費(fèi)大量的時(shí)間去輸入信息。 2.3 數(shù)據(jù)庫(kù)物理設(shè)計(jì) 1.1.1 3.3.1數(shù)據(jù)庫(kù)物理設(shè)計(jì) 本系統(tǒng)采用Access數(shù)據(jù)庫(kù)管理系統(tǒng)作為后臺(tái)數(shù)據(jù)庫(kù)的開(kāi)發(fā)工具,設(shè)計(jì)的表結(jié)構(gòu)如下: 第三章 程序代碼及運(yùn)行效果 3.1主類代碼: /*主類代碼*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*; import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public class myStudent { public myStudent(){ } public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} } 3.2 登陸: public loginFrame(){ p=new JPanel(); user=new JTextField(10); pass=new JPasswordField(10); login=new JButton(“登錄”); cancel=new JButton(“退出”); p.setBackground(Color.lightGray); //user.setText(“王明玉”); //pass.setText(“123456”); login.addActionListener(this); cancel.addActionListener(this); p.add(new JLabel(“學(xué)生信息管理系統(tǒng)登錄”)); p.add(new JLabel(“賬號(hào):”)); p.add(user); p.add(new JLabel(“密碼:”)); p.add(pass); p.add(login); p.add(cancel); this.add(p); this.setTitle(“學(xué)生管理系統(tǒng)登錄界面”); this.setSize(180,160);} public void actionPerformed(ActionEvent e){ //查找 if(e.getSource()==login){ if(user.getText().toString().equals(“")){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入用戶名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(pass.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入密碼“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else{ myConnection conn=new myConnection(); ResultSet rs; String sql=”select * from admin where 用戶名 = '“+user.getText().toString()+”' and 密碼 = '“+pass.getText().toString()+”'“; try{ rs=conn.getResult(sql); if(rs.next()){ this.dispose(); //JOptionPane.showMessageDialog(null, ”此用戶已經(jīng)存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); sql=”select * from student“; mainFrame mf=new mainFrame(); mf.setTitle(”西北師范大學(xué)學(xué)生信息管理系統(tǒng)“); mf.setSize(600,486); mf.freshTable(sql); mf.setVisible(true); mf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); }else{ JOptionPane.showMessageDialog(null, ”用戶名或密碼錯(cuò)誤“, ”登錄失敗“, JOptionPane.INFORMATION_MESSAGE); } }catch(Exception er){ System.out.println(er.toString()); } } //全部顯示 }if(e.getSource()==cancel){ System.exit(0); } } } 登陸界面: 3.3 修改數(shù)據(jù): /*修改數(shù)據(jù)*/ class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400; JLabel 學(xué)號(hào)1,姓名1,性別1,民族1,年齡1,年級(jí)1,班級(jí)1,專業(yè)1;JTextField 學(xué)號(hào),姓名,性別,民族,年齡,年級(jí),班級(jí),專業(yè);JButton b;JPanel p; mainFrame mf; public editFrame(mainFrame mmf){ setTitle(”修改學(xué)生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180); Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout()); 學(xué)號(hào)1=new JLabel(”學(xué)號(hào)“);姓名1=new JLabel(”姓名“);性別1=new JLabel(”性別“);民族1=new JLabel(”民族“);年齡1=new JLabel(”年齡“);年級(jí)1=new JLabel(”年級(jí)“);班級(jí)1=new JLabel(”班級(jí)“); 專業(yè)1=new JLabel(”專業(yè)“); 學(xué)號(hào)=new JTextField(5);姓名=new JTextField(5);性別=new JTextField(5);民族=new JTextField(5);年齡=new JTextField(5);年級(jí)=new JTextField(5);班級(jí)=new JTextField(10);專業(yè)=new JTextField(10);學(xué)號(hào).setEnabled(false);b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學(xué)號(hào)1);p.add(學(xué)號(hào));p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級(jí)1);p.add(年級(jí));p.add(班級(jí)1);p.add(班級(jí));p.add(專業(yè)1);p.add(專業(yè));p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監(jiān)聽(tīng)器 b.addActionListener(this);mf=mmf;} public void actionPerformed(ActionEvent e){ if(學(xué)號(hào).getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null,”請(qǐng)輸入學(xué)號(hào)“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(姓名.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null,”請(qǐng)輸入姓名“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(年齡.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null,”請(qǐng)輸入年齡“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else{ String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級(jí)='“+年級(jí).getText()+”',班級(jí)='“+班級(jí).getText()+”',專業(yè)='“+專業(yè).getText()+”',民族='“+民族.getText()+”' where 學(xué)號(hào)='“ + 學(xué)號(hào).getText()+ ”'“; myConnection conn=new myConnection(); try{ //JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); if(conn.executeSql(sql)){ JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); mf.freshTable(”select * from student“); this.dispose(); }else{ JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); } }catch(Exception er){ System.out.println(er.toString()); } } } } 3.4 查找數(shù)據(jù): class findFrame extends JDialog implements ActionListener{ mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=”select * from student“;String[] colStr={”學(xué)號(hào)“,”姓名“,”性別“,”民族“,”年齡“,”年級(jí)“,”班級(jí)“,”專業(yè)“}; public findFrame(mainFrame mmf){ mf=mmf; p=new JPanel(); c=new JComboBox(colStr); t=new JTextField(10); b=new JButton(”查找“); fAll=new JButton(”全部顯示“); b.addActionListener(this); fAll.addActionListener(this); p.add(new JLabel(”選擇“)); p.add(c); p.add(new JLabel(”查找內(nèi)容“)); p.add(t); p.add(b); p.add(fAll); this.add(p); this.setTitle(”查找“); this.setSize(450,80);} public void actionPerformed(ActionEvent e){ //查找 if(e.getSource()==b){ String selectStr=c.getSelectedItem().toString(); if(selectStr==”年齡“){ sql=”select * from student where “+selectStr+” “+t.getText().toString(); } else { sql=”select * from student where “+selectStr+” '“+t.getText().toString()+”'“; = = 12 } mf.freshTable(sql); //全部顯示 }if(e.getSource()==fAll){ sql=”select * from student“; mf.freshTable(sql); } } } 3.5 添加數(shù)據(jù): class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400; JLabel 學(xué)號(hào)1,姓名1,性別1,民族1,年齡1,年級(jí)1,班級(jí)1,專業(yè)1;JTextField 學(xué)號(hào),姓名,性別,民族,年齡,年級(jí),班級(jí),專業(yè);JButton b;JPanel p; mainFrame mf; public addFrame(mainFrame mmf){ setTitle(”修改學(xué)生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180); Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//設(shè)置窗口顏色 contentPane.setLayout(new FlowLayout()); 學(xué)號(hào)1=new JLabel(”學(xué)號(hào)“); 姓名1=new JLabel(”姓名“); 性別1=new JLabel(”性別“); 民族1=new JLabel(”民族“); 年齡1=new JLabel(”年齡“); 年級(jí)1=new JLabel(”年級(jí)“); 班級(jí)1=new JLabel(”班級(jí)“); 專業(yè)1=new JLabel(”專業(yè)“); 學(xué)號(hào)=new JTextField(”201071030240“,5); 姓名=new JTextField(5); 性別=new JTextField(”女“,5); 民族=new JTextField(5); 年齡=new JTextField(5); 年級(jí)=new JTextField(5); 班級(jí)=new JTextField(10); 專業(yè)=new JTextField(10); b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學(xué)號(hào)1);p.add(學(xué)號(hào));p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級(jí)1);p.add(年級(jí));p.add(班級(jí)1);p.add(班級(jí));p.add(專業(yè)1);p.add(專業(yè));p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監(jiān)聽(tīng)器 b.addActionListener(this);mf=mmf;} public void actionPerformed(ActionEvent e){ if(學(xué)號(hào).getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入學(xué)號(hào)“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(姓名.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(年齡.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else{ String sql=”select * from student where 學(xué)號(hào)='“ + 學(xué)號(hào).getText()+ ”'“; myConnection conn=new myConnection(); ResultSet rs; rs=conn.getResult(sql); try{ //System.out.println(rs.getRow()); if(rs.next()){ JOptionPane.showMessageDialog(null, ”此學(xué)號(hào)已經(jīng)存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else{ sql=”insert into student values('“ +學(xué)號(hào).getText()+”','“+ 姓名.getText()+”','“+ 性別.getText()+”','“+ 民族.getText()+”',“+ 年齡.getText()+”,'“+ 年級(jí).getText()+”','“+ 班級(jí).getText()+”','“+ 專業(yè).getText()+”')“; if(conn.executeSql(sql)){ JOptionPane.showMessageDialog(null, ”添加成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); mf.freshTable(”select * from student“); 學(xué)號(hào).setText(”“); 姓名.setText(”“); 性別.setText(”“); 民族.setText(”“); 年齡.setText(”“); 年級(jí).setText(”“); 班級(jí).setText(”“); 專業(yè).setText(”“); }else{ JOptionPane.showMessageDialog(null, ”添加失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); } } }catch(Exception er){ System.out.println(er.toString()); } } } } 3.6 修改數(shù)據(jù): class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400; JLabel 學(xué)號(hào)1,姓名1,性別1,民族1,年齡1,年級(jí)1,班級(jí)1,專業(yè)1;JTextField 學(xué)號(hào),姓名,性別,民族,年齡,年級(jí),班級(jí),專業(yè);JButton b;JPanel p; mainFrame mf; public editFrame(mainFrame mmf){ setTitle(”修改學(xué)生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180); Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout()); 學(xué)號(hào)1=new JLabel(”學(xué)號(hào)“); 姓名1=new JLabel(”姓名“); 性別1=new JLabel(”性別“); 民族1=new JLabel(”民族“); 年齡1=new JLabel(”年齡“); 年級(jí)1=new JLabel(”年級(jí)“); 班級(jí)1=new JLabel(”班級(jí)“); 專業(yè)1=new JLabel(”專業(yè)“); 學(xué)號(hào)=new JTextField(5); 姓名=new JTextField(5); 性別=new JTextField(5); 民族=new JTextField(5); 年齡=new JTextField(5); 年級(jí)=new JTextField(5); 班級(jí)=new JTextField(10); 專業(yè)=new JTextField(10); 學(xué)號(hào).setEnabled(false); b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學(xué)號(hào)1);p.add(學(xué)號(hào)); p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級(jí)1);p.add(年級(jí));p.add(班級(jí)1);p.add(班級(jí));p.add(專業(yè)1);p.add(專業(yè));p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監(jiān)聽(tīng)器 b.addActionListener(this);mf=mmf;} public void actionPerformed(ActionEvent e){ if(學(xué)號(hào).getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入學(xué)號(hào)“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(姓名.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else if(年齡.getText().toString().equals(”“)){ JOptionPane.showMessageDialog(null, ”請(qǐng)輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); }else{ String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級(jí)='“+年級(jí).getText()+”',班級(jí)='“+班級(jí).getText()+”',專業(yè)='“+專業(yè).getText()+”',民族='“+民族.getText()+”' where 學(xué)號(hào)='“ + 學(xué)號(hào).getText()+ ”'“; myConnection conn=new myConnection(); try{ //JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); if(conn.executeSql(sql)){ JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE); mf.freshTable(”select * from student“); this.dispose(); }else{ JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示", JOptionPane.INFORMATION_MESSAGE); } }catch(Exception er){ System.out.println(er.toString()); } } } } 運(yùn)行效果: 第四章 總結(jié) 通過(guò)本次課程設(shè)計(jì),不僅讓我更深入的了解JAVA這門(mén)學(xué)科,更使自己有了繼續(xù)探索的興趣。 對(duì)我來(lái)說(shuō),在之前的學(xué)習(xí)過(guò)程中沒(méi)有能夠很好的掌握J(rèn)AVA語(yǔ)言的學(xué)習(xí),在很多地方還有生疏和遺漏,并且在此次課程設(shè)計(jì)過(guò)程中也遇到困難不能自己獨(dú)立解決。但是,通過(guò)這次程序設(shè)計(jì),除了增加了自己的編程能力,提高了我對(duì)JAVA的應(yīng)用能力,同時(shí)我也深感“認(rèn)真嚴(yán)謹(jǐn)”這個(gè)詞的重要性,一點(diǎn)點(diǎn)小的馬虎,便會(huì)導(dǎo)致整個(gè)程序不能正常運(yùn)行。在今后的學(xué)習(xí)中,我將繼續(xù)保持嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度。與此同時(shí),在同學(xué)的幫助下,讓我體會(huì)到了相互學(xué)習(xí)的重要性,而更讓人難以忘懷的是在熱烈討論問(wèn)題時(shí),那激情橫溢的場(chǎng)面。總之,此次課程設(shè)計(jì)讓我獲益匪淺。 第五章 總結(jié) 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來(lái)這門(mén)課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過(guò)程中碰到了很多問(wèn)題,剛開(kāi)始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書(shū)、同學(xué)和老師的幫助下都得到了解決,讓我學(xué)會(huì)了好多書(shū)本上沒(méi)有的東西,通過(guò)本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理 論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。 通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 第六章 參考文獻(xiàn) –––––––––––––––––摘 要––––––––––––––––– 學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過(guò)分析,我們使用MICROSOFT公司的VISUAL BASIC開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。 關(guān)鍵字:控件、窗體、域、數(shù)據(jù)庫(kù)。 –––––––––––––––––前言––––––––––––––––– 隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長(zhǎng)。面對(duì)龐大的信息量需要有學(xué)生管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率。通過(guò)這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。 本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢、修改、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢、修改、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)。 本系統(tǒng)主要包括學(xué)生信息查詢、教務(wù)信息維護(hù)和學(xué)生選課三部分。其功能主要有: ⒈有關(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級(jí)、所學(xué)課程和成績(jī)等。⒉學(xué)生信息的查詢,包括查詢學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績(jī)等。⒊學(xué)生信息的修改。 ⒋班級(jí)管理信息的輸入,包括輸入班級(jí)設(shè)置、年級(jí)信息等。⒌班級(jí)管理信息的查詢。⒍班級(jí)管理信息的修改。⒎學(xué)生課程的設(shè)置和修改。 目 錄 前言 第一章 Visual Basic 概述 1.1 Visual Basic 語(yǔ)言的特點(diǎn) 1.2 Visual Basic 系統(tǒng)幾個(gè)程序應(yīng)用中的常用名詞 第二章 Windows 下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程 2.2 實(shí)現(xiàn)菜單選項(xiàng) 2.3 實(shí)現(xiàn)工具欄 第三章 怎樣開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢模塊 3.1 學(xué)生信息系統(tǒng)的設(shè)計(jì)分析 3.2 編程環(huán)境的選擇 3.3 關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 3.4 二者的結(jié)合(DBA)第四章 使用Access2000 創(chuàng)建數(shù)據(jù)庫(kù) 4.1 數(shù)據(jù)庫(kù)的概念 4.2 新建一個(gè)數(shù)據(jù)庫(kù) 4.3 修改已建的數(shù)據(jù)庫(kù) 第五章 可行性分析 第六章 系統(tǒng)總體規(guī)劃 6.1 系統(tǒng)功能 6.2 系統(tǒng)流程圖 第七章 系統(tǒng)具體實(shí)現(xiàn) 7.1 各功能的實(shí)現(xiàn) 7.1.1 課程管理 7.1.2 打印統(tǒng)計(jì) 結(jié)束語(yǔ) 后記 主要參考文獻(xiàn) 第一章 Visual Basic 概述 1.1 Visual Basic 語(yǔ)言的特點(diǎn) Visual Basic 語(yǔ)言用其設(shè)計(jì)應(yīng)用程序時(shí)具有兩個(gè)基本特點(diǎn):可視化設(shè)計(jì)和事件驅(qū)動(dòng)編程。(1)可視化設(shè)計(jì):表現(xiàn)在VB在設(shè)計(jì)應(yīng)用于程序界面時(shí)有“所見(jiàn)即所得”的處理功能。(2)事件驅(qū)動(dòng)編程:在設(shè)計(jì)應(yīng)用程序時(shí),把對(duì)象添加到窗體中,在用戶與程序進(jìn)行交互時(shí),用戶基本上是通過(guò)鼠標(biāo)、鍵盤(pán)與應(yīng)用程序進(jìn)行交互的,那些對(duì)象就必須對(duì)鼠標(biāo)和鍵盤(pán)操作所引發(fā)的事件做出響應(yīng),來(lái)執(zhí)行一段應(yīng)用程序。1.2 Visual Basic 系統(tǒng)幾個(gè)在程序應(yīng)用中的常用名詞 Visual Basic 系統(tǒng)除了一般高級(jí)語(yǔ)言所具有的一些名詞術(shù)語(yǔ)外,還有幾個(gè)系統(tǒng)常用的名詞。其基本含義如下:(1)視窗(Form) 視窗是進(jìn)行人機(jī)交互的界面或接口,也叫窗體。VB系統(tǒng)的人機(jī)交互界面或接口,無(wú)論是在設(shè)計(jì)時(shí)或是在運(yùn)行時(shí),都是Windows 系統(tǒng)的標(biāo)準(zhǔn)視窗。(2)對(duì)象(Object) 對(duì)象是VB系統(tǒng)內(nèi)部提供給設(shè)計(jì)者可以直接使用的處理輸出的控制工具。本程序所應(yīng)用到的對(duì)象類型有標(biāo)簽框(Label Box),文本框(Text Box),命令按扭(Command Button),網(wǎng)格(Data Grid),ADO控件(Adodc1)等。當(dāng)把這些工具放置到用戶界面對(duì)應(yīng)的窗體上時(shí),被稱為對(duì)象或控件。用戶可以通過(guò)設(shè)置對(duì)象的“屬性”和“方法”,便于對(duì)象適應(yīng)自己所設(shè)計(jì)應(yīng)用程序的輸入輸出內(nèi)容,對(duì)象的生成過(guò)程及結(jié)構(gòu)都被封裝起來(lái)。正確使用對(duì)象可以減少程序和開(kāi)發(fā)時(shí)間,提高程序設(shè)計(jì)者的工作效率。(3)屬性(Properties) 屬性是VB系統(tǒng)提供的有關(guān)對(duì)象的參數(shù)或數(shù)據(jù)接口。用戶通過(guò)適當(dāng)?shù)卦O(shè)置或改變對(duì)象的屬性來(lái)確定對(duì)象的外觀及性能特征,從而有效地使用系統(tǒng)提供的對(duì)象。比如,對(duì)象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數(shù)據(jù)內(nèi)容及數(shù)據(jù)的表現(xiàn)格式等。(4)事件(Events) 事件是指用戶或操作者對(duì)計(jì)算機(jī)進(jìn)行的某一操作(如擊鍵、單擊或移動(dòng)鼠標(biāo)等)的行為或系統(tǒng)狀態(tài)發(fā)生的變化。VB系統(tǒng)常用事件來(lái)引導(dǎo)計(jì)算機(jī)執(zhí)行一段程序。程序所用的鍵盤(pán)事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標(biāo)事件有Click(單擊鼠標(biāo))事件,DbDlicd(雙擊鼠標(biāo))。(5)方法(Method)方法主要是指對(duì)一個(gè)對(duì)象使用某種作用的過(guò)程。它是在程序執(zhí)行的過(guò)程中要計(jì)算機(jī)執(zhí)行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。 (6)過(guò)程(Procedure) 過(guò)程是指經(jīng)過(guò)定義或說(shuō)明的,或基于某一對(duì)象對(duì)應(yīng)的事件所引發(fā)的程序段。(7)模塊(Module) 模塊是指一些運(yùn)算量或過(guò)程進(jìn)行聲明或定義的一個(gè)集合。系統(tǒng)程序大體可分成四個(gè)模塊:數(shù)據(jù)輸入、根據(jù)查詢、數(shù)據(jù)打印和通訊。 第二章 Windows下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程 面向?qū)ο蟮脑O(shè)計(jì)方法(OOP, Objected Programming)從應(yīng)用領(lǐng)域內(nèi)的問(wèn)題著手,以直觀自然的方式描述客觀世界的實(shí)體。Visual Basic 作為一種面向?qū)ο蟮木幊谭椒?,把程序和?shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予相應(yīng)的屬性。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,由 Visual Basic 自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。Visual Basic 應(yīng)用程序基本的構(gòu)建塊是用戶所創(chuàng)建的對(duì)象,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和方法)。開(kāi)發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。使用應(yīng)用程序具有可通用性可說(shuō)擴(kuò)展性和強(qiáng)有力的功能。 Visual Basic 應(yīng)用由一系列對(duì)象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對(duì)象、用戶事件等等,對(duì)象中又包含若干控件如命令按鈕、單行編輯器等這些對(duì)象和控件都可在許多應(yīng)用中重復(fù)使用。2.2 實(shí)現(xiàn)菜單選項(xiàng) 菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個(gè)定義良好的菜單使程序易于使用和維護(hù),Visual Basic 也提供了強(qiáng)大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。 本系統(tǒng)使用 Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也可以使用Visual Basic 的Application Wizard 來(lái)操作。2.3 實(shí)現(xiàn)工具欄 CoolBar控件與Office2000 中看到的CoolBar是類似的。CoolBar就是一個(gè)可以在窗體上浮動(dòng)的工具,同時(shí)也是其他ActiveX的容器。通過(guò)在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。 選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對(duì)話框。在“控件”選項(xiàng)卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在第一個(gè)欄中,在樣式這一欄中選擇了文本,在第二個(gè)欄中,選擇了系統(tǒng)日期,第三個(gè)欄中選擇了系統(tǒng)時(shí)間,這樣,任何時(shí)候操作本系統(tǒng),都可以看到當(dāng)前的時(shí)間和日期。 第三章 怎樣開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢模塊? 3.1查詢模塊的設(shè)計(jì)分析 根據(jù)實(shí)際情況,我們使用原型法(Rapid Prototyping)即以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件模型。使用戶可以較快地確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足。此時(shí)模塊也發(fā)展成為最終產(chǎn)品了。3.2編程環(huán)境的選擇 微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開(kāi)發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效的提高了應(yīng) 用程序的運(yùn)行效率和可靠性。故而,實(shí)現(xiàn)本系統(tǒng)VB是一個(gè)相對(duì)較好的選擇。3.3關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn) Access2000就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢、存儲(chǔ)和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。Access也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他用戶共享數(shù)據(jù)庫(kù)。Access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。3.4二者的結(jié)合(DBA)微軟的JET數(shù)據(jù)庫(kù)引擎提供了與數(shù)據(jù)庫(kù)打交道的途徑,我們是通過(guò)它以及Visual Basic來(lái)訪問(wèn)數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過(guò)共用JET數(shù)據(jù)庫(kù)引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。ADODC控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶看的Visual Basic 程序之間架起了一座橋梁。我們可以設(shè)置ADODC控件的各個(gè)屬性,告訴它要調(diào)用那個(gè)數(shù)據(jù)庫(kù)的哪個(gè)部分。缺省情況下,ADODC控件根據(jù)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表建立一個(gè)dynaset-type(動(dòng)態(tài)集合)類型的記錄集合。一個(gè)記錄集合是動(dòng)態(tài)的也就意味著,當(dāng)原來(lái)的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會(huì)隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。 第四章 使用Access2000創(chuàng)建數(shù)據(jù)庫(kù) 4.1數(shù)據(jù)庫(kù)的概念 數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫(kù)就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫(kù)可以分為兩類:非關(guān)系數(shù)據(jù)庫(kù)(flat-file)和關(guān)系數(shù)據(jù)庫(kù)(relational)。關(guān)系數(shù)據(jù)庫(kù)中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫(kù)含有各個(gè)不同部分的術(shù)語(yǔ),象記錄、域等。4.2新建一個(gè)數(shù)據(jù)庫(kù) 創(chuàng)建任何一個(gè)數(shù)據(jù)庫(kù)的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫(kù),設(shè)計(jì)必須是靈活的、有邏輯的。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的過(guò)程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。1. 標(biāo)識(shí)需要的數(shù)據(jù); 2. 收集被子標(biāo)識(shí)的字段到表中; 3. 標(biāo)識(shí)主關(guān)鍵字字段; 4. 規(guī)范數(shù)據(jù); 5. 標(biāo)識(shí)指定字段的信息; 4.3修改已建的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visual Basic創(chuàng)建的程序來(lái)完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法。 第五章 可行性分析 學(xué)生信息,作為一個(gè)學(xué)校,就有一定的工作量存在,而學(xué)生信息,它的工作量可能是其它信息工作量的幾倍,班級(jí)的增加、班級(jí)的查找、班級(jí)的修改;學(xué)生檔案;課程管理;成績(jī)管理;繳費(fèi)管理;統(tǒng)計(jì)等等,每個(gè)信息的數(shù)據(jù)都在不斷地變化著,如果采用人工的方式進(jìn)行操作,那么,一天的工作量,足以讓人覺(jué)得比較繁瑣,吃不消。針對(duì)這樣的情況,采用讓數(shù)據(jù)的查詢變得簡(jiǎn)單化,數(shù)據(jù)變的更讓每個(gè)人都在任何時(shí)刻都可以了解到。學(xué)生信息管理系統(tǒng)是為本校開(kāi)發(fā)的,本系統(tǒng)所采用的語(yǔ)言是Visual Basic,用Microsoft Access 2000數(shù)據(jù)庫(kù)完成。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢、教務(wù)信息維護(hù)、學(xué)生選課及用戶管理。通過(guò)本系統(tǒng),把本校內(nèi)部查詢學(xué)生信息、教務(wù)信息、學(xué)生選課各個(gè)環(huán)節(jié)進(jìn)行有效地計(jì)劃、組織和控制。通過(guò)本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動(dòng)及時(shí)地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。本系統(tǒng)主要信息流程為:教務(wù)信息維護(hù)接受學(xué)生的信息,學(xué)生信息查詢根據(jù)教務(wù)信息維護(hù)的學(xué)生信息做出對(duì)所接收的信息合理性進(jìn)行判斷,并交于信息維護(hù)進(jìn)行相應(yīng)的修改,再把信息存入數(shù)據(jù)庫(kù)中。學(xué)生選課是對(duì)學(xué)生進(jìn)行相應(yīng)選擇自己相關(guān)的課程。最后進(jìn)行打印。采用本系統(tǒng),能夠使整個(gè)系統(tǒng)內(nèi)部所有信息的工作簡(jiǎn)化,提高工作效益。由于采用統(tǒng)一的數(shù)據(jù)信息,使相關(guān)資料能夠快速地查詢所需的數(shù)據(jù)、資料及其它信息的,使信息快速高效運(yùn)行。 本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級(jí)表、成績(jī)表、繳費(fèi)表、課程表、學(xué)生檔案、用戶資料,由這六個(gè)表,組成了名為信息的數(shù)據(jù)庫(kù)(如圖一)。其中學(xué)生檔案是本系統(tǒng)主要的(圖一) 一張表,所有信息都是根據(jù)這張學(xué)生檔案進(jìn)行有關(guān)的操作,主要的字段有:學(xué)號(hào)、姓名、年級(jí)、專業(yè)、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯(lián)系電話、入學(xué)時(shí)間、備注。其中日期的數(shù)據(jù)類型為日期/時(shí)間天型,其它的數(shù)據(jù)類型為文本型;成績(jī)表中字段為:學(xué)號(hào)、姓名、年級(jí)、專業(yè)、學(xué)期、考試時(shí)間、考試科目、考試地點(diǎn)、課程性質(zhì)、科目分?jǐn)?shù)、違紀(jì)類型、備注;課程表中字段為:專業(yè)、年級(jí)、學(xué)期、課程名稱、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)、考試性質(zhì);用戶資料中的字段包括:用戶名、密碼、身份。 數(shù)據(jù)庫(kù)與VB的連接:本系統(tǒng)的數(shù)據(jù)鏈接采用的是ADO方法,打開(kāi)控制面板,打開(kāi)ODBC數(shù)據(jù)源圖標(biāo),選擇“系統(tǒng)DSN”標(biāo)簽,點(diǎn)擊“添加”按鈕,在彈出的“創(chuàng)建新數(shù)據(jù)源”對(duì)話框中選擇名稱為“Microsoft Access Drive(*.mdb)”,點(diǎn)擊“完成”按鈕,在ODBC Microsoft Access 安裝對(duì)話框中在數(shù)據(jù)源名中輸入信息,在數(shù)據(jù)庫(kù)這個(gè)框中,單擊“選擇”按鈕,在彈出的選擇數(shù)據(jù)庫(kù)這一對(duì)話框架中,在驅(qū)動(dòng)器下拉列表框中選擇本系統(tǒng)數(shù)據(jù)庫(kù)所在驅(qū)動(dòng)器,在目錄中選擇庫(kù)所在的文件夾,在文件類型中選擇選“Access數(shù)據(jù)庫(kù)(*.mdb)”,在數(shù)據(jù)庫(kù)名中選擇本系統(tǒng)的數(shù)據(jù)庫(kù),點(diǎn)擊“確定”按鈕即完成數(shù)據(jù)鏈接。 在VB中,用ADODC鏈接數(shù)據(jù)庫(kù),用DataGrid或DATA將庫(kù)中的數(shù)據(jù)在界面中顯示出來(lái),本系統(tǒng)采用DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對(duì)話框中,在“屬性”這一標(biāo)簽中,選中單選框“Use ODBC Data Source Name”,并在下拉文本框中選擇已經(jīng)配置好的數(shù)據(jù)源名信息,再在“RecordSoure”標(biāo)簽中,在Commard Text(SQL)文本框中輸入查詢語(yǔ)句,如:select * from 學(xué)生檔案。同時(shí),將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設(shè)為Adodc。我們可以設(shè)置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對(duì)話框中單擊“確定”,這時(shí),表格中出現(xiàn)了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整。 第六章 系統(tǒng)(查詢模塊)總體規(guī)劃 6.1系統(tǒng)功能(查詢模塊)1. 查詢信息的情況; 2. 判斷信息是否符合要求; 3. 將符合條件的信息進(jìn)行打??; 6.2流程圖 學(xué)生注冊(cè) 基本信息輸入 學(xué)籍信息管理 班級(jí)管理 班級(jí)課程設(shè)置 課程基本信息 班級(jí)課程管理 成績(jī)信息輸入 成績(jī)信息管理 班級(jí)設(shè)置 第七章 系統(tǒng)具體實(shí)現(xiàn) 7.1各功能的實(shí)現(xiàn) 7.1.1課程管理:課程設(shè)置(如:界面如圖二)(圖二) 運(yùn)行程序后,進(jìn)入課程管理模塊,課程管理模塊的第一塊是課程設(shè)置,在這模塊中可以把專業(yè)、年級(jí)、學(xué)期、課程名稱、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)和考試性質(zhì)等信息輸入,以便使用。結(jié)束語(yǔ) 學(xué)生信息管理系統(tǒng)(課程設(shè)置和打印統(tǒng)計(jì))的完成,它在審核這一功能中能夠?qū)Σ煌闆r的資料進(jìn)行設(shè)置和打印,針對(duì)需要的信息進(jìn)行設(shè)置和打印。 后記 本系統(tǒng)能夠順利完成,非常感謝指導(dǎo)老師陳志衛(wèi)老師,同時(shí),也感謝和我一起合作完成本系統(tǒng)的另兩位同學(xué)。對(duì)于本人來(lái)說(shuō),通過(guò)這次畢業(yè)設(shè)計(jì),也是對(duì)自己在這三年學(xué)習(xí)的一個(gè)檢驗(yàn)和平時(shí)學(xué)習(xí)的一種結(jié)累,可以在學(xué)習(xí)中提高自己,也充分體現(xiàn)學(xué)有所用,學(xué)以致用的學(xué)習(xí)倡導(dǎo)。 在此,我對(duì)三年來(lái)輔導(dǎo)過(guò)我的各位任課老師深表感謝 主要參考文獻(xiàn) 本系統(tǒng)的過(guò)程中,主要的參考文獻(xiàn)有: 《Visual Basic6.0》 林陳雷 人民郵電出版社 《面向?qū)ο蟪绦蛟O(shè)計(jì)系列教材》 龔沛曾 高等教育出版社 《Visual Basic6.0編程實(shí)例精解》 何文俊 《學(xué)用Visual Basic 編程》 潭 浩 西安電子科技大學(xué)出版社 《Visual Basic6.0 數(shù)據(jù)庫(kù)開(kāi)發(fā)與專業(yè)應(yīng)用》 敬 錚 國(guó)防工業(yè)出版社 《Visual Basic6.0 數(shù)據(jù)庫(kù)程序設(shè)計(jì)高手》 溫賢發(fā) 科學(xué)出版社第四篇:學(xué)生信息管理系統(tǒng)
第五篇:學(xué)生信息管理系統(tǒng)