




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)課程名稱題目名稱專業(yè)班級(jí)
數(shù)據(jù)庫(kù)系統(tǒng)原理與設(shè)計(jì)學(xué)生信息管理系統(tǒng)11級(jí)計(jì)算機(jī)科學(xué)與技術(shù)二班學(xué)生姓名學(xué)
梅小軍指導(dǎo)教師 王磊二○一三年六月十五日目 錄摘要 ······························ 2英文摘要 ····························· 3第一章 引言 ··························· 41.1 課題研究背景······················· 51.2 課題研究意義······················· 5第二章······························ 72.1 學(xué)生信息管理系統(tǒng)的介紹 ·················· 72.2.1 開(kāi)發(fā)方案 ······················ 72.2.2 模塊設(shè)計(jì)及分析 ··················· 7第三章······························ 93.1 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明 ······················ 93.2 數(shù)據(jù)庫(kù)的完整性和安全性 ·················· 93.3 登錄模板設(shè)計(jì)······················ 103.4 FormMain 主界面設(shè)計(jì) ·················· 113.5 錄入學(xué)生信息模塊設(shè)計(jì) ·················· 153.6 刪除學(xué)生信息模塊設(shè)計(jì) ·················· 173.7 查找學(xué)生信息模塊設(shè)計(jì) ·················· 183.8 修改學(xué)生信息模塊設(shè)計(jì) ·················· 193.9 備份學(xué)生信息模塊設(shè)計(jì) ·················· 203.10 還原學(xué)生信息模塊設(shè)計(jì) ·················· 21第四章····························· 234.1 登錄測(cè)試 ························ 234.2 錄入測(cè)試 ························ 244.3 刪除測(cè)試 ························ 254.4 查找測(cè)試 ························ 254.5 修改測(cè)試 ························ 264.6 備份測(cè)試 ························ 274.7 還原測(cè)試 ························ 28第五章 總論 ·························· 29致謝 ····························· 30參考文獻(xiàn) ···························· 31附錄:程序清單 ························· 32摘要學(xué)生信息管理系統(tǒng)是高等院校教務(wù)管理的重要組成部分,建立學(xué)生信息管理系統(tǒng)對(duì)評(píng)價(jià)教學(xué)質(zhì)量、反饋教學(xué)效果、收集教學(xué)信息等方面起著重要的作用,對(duì)于穩(wěn)定高校的教學(xué)秩序、促進(jìn)教學(xué)改革,提高高校的教學(xué)質(zhì)量和教學(xué)管理水平具有極為重要的意義。C#析,從主要功能、框架結(jié)構(gòu)、設(shè)計(jì)模式、開(kāi)發(fā)平臺(tái)等多個(gè)方面完成了學(xué)生信息管理系統(tǒng)的總體設(shè)計(jì)。重點(diǎn)介紹了系統(tǒng)中系 統(tǒng)管理, 學(xué)生管理,課程管理,現(xiàn)了學(xué)生檔案信息,班級(jí)信息,課程信息,成績(jī)信息的添加、修改、刪除、查詢等功能。本系統(tǒng)界面簡(jiǎn)潔,實(shí)用性強(qiáng),安全性高,各模塊功能清晰,易于維護(hù)和使用,為教師和教學(xué)管理人員對(duì)教學(xué)監(jiān)控提供了良好的幫助。關(guān)鍵詞:教務(wù)管理 學(xué)生信息管理系統(tǒng)英文摘要Title: StudentInformationManagementSystemAbstract: Student Information managementis animportant componentofteachingadministrativesystemincolleges.AproperStudentInformation managementsystemplays animportant role in evaluatingthequalityofteaching,checkingontheperformanceofstudentsandteachers andcollectingAnditcanalsocollege.
theinformation ofteaching andlearning.This system based on Eclipse and JAVA, According to therequirement ofStudent Information management,general analysis anddesign of
the system
wasimplemented, which consisted
of mainfunctions,
framework
structure, design
mode, interface,developmentplatform,runningenvironment,etc.Thewholesystemwasdivided into four mainmodules:Student Information management,CourseInformationmanagement,GradeInformationmanagementandSearchingtheInformation.Anditcanbecompleteddailystudentrecords, information onthecourses, theresults ofinformation add,edit,delete,query,andotherfunctions.Additionally,thesystemmodules,easymaintenanceanduse,StudentInformationManagementSystem第一章引言息管理也相應(yīng)提升。學(xué)校對(duì)于學(xué)生信息管理主要側(cè)重于數(shù)據(jù)的更新快捷、準(zhǔn)確、占用較少的人力資源,而達(dá)到的最大的辦公效率。系統(tǒng)來(lái)解決目前學(xué)校對(duì)于學(xué)生管理存在的一系列問(wèn)題。學(xué)生數(shù)量與課程數(shù)量都在迅速的增長(zhǎng),學(xué)生信息呈爆炸性增長(zhǎng)的前提下,原始的手工管理耗費(fèi)學(xué)生與工作人員大量的時(shí)間和精力,而效率與準(zhǔn)確性卻很低,學(xué)校對(duì)學(xué)生信息管理的自動(dòng)化與準(zhǔn)確化得要求日益強(qiáng)烈,為滿足學(xué)校管理學(xué)生信息的需要,設(shè)計(jì)并完成該系統(tǒng)。系統(tǒng)完成后可用于學(xué)校學(xué)生信息管理,能夠?qū)崿F(xiàn)對(duì)學(xué)生信息進(jìn)行存儲(chǔ)、查詢、修改等功能。課題研究背景隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,學(xué)生信息管理系統(tǒng)必定是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡(jiǎn)單易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍?,.:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地,,重要條件。課題研究意義管理信息系統(tǒng)就是我們常說(shuō)的MIS,在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它越來(lái)越得到普及。MIS是一門新的學(xué)科,它跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。其意義體現(xiàn)在以下四個(gè)方面:第一,管理本身就是一類復(fù)雜的智能行為,是一個(gè)知識(shí)運(yùn)用和知識(shí)創(chuàng)新的過(guò)程;第二,現(xiàn)代的企事業(yè)管理迫切需要一個(gè)支持的信息管理的平臺(tái); 第三,一個(gè)協(xié)同管理的平臺(tái)是必不可少的第四,企事業(yè)需要一個(gè)不斷進(jìn)行技術(shù)交流和培訓(xùn)的系統(tǒng)。第二章2.1 學(xué)生信息管理系統(tǒng)的介紹學(xué)生信息管理系統(tǒng)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊。逐步對(duì)各個(gè)模塊的代碼書寫,實(shí)現(xiàn)多種功能,讓用戶快速而便捷地使用學(xué)生信息管理系統(tǒng)。用戶可以錄入學(xué)生信息,輸入學(xué)生的學(xué)號(hào)從而刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息。開(kāi)發(fā)方案本人計(jì)劃編寫一個(gè)人學(xué)生信息管理系統(tǒng), 主要功能是滿足用戶對(duì)學(xué)生信息的管理,包括錄入、刪除、修改、查詢、備份、還原功能。模塊設(shè)計(jì)及分析本次設(shè)計(jì)主要分為六種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊、備份模塊、還原模塊詳細(xì)可以參考下圖:2-1第三章本次設(shè)計(jì)和數(shù)據(jù)庫(kù)緊密相連,首先我們根據(jù)題意設(shè)計(jì)相關(guān)的數(shù)據(jù)庫(kù)以及相關(guān)的數(shù)據(jù)表(book,manager,user) 。然后我們把這次的設(shè)計(jì)內(nèi)容分成了若干個(gè)模塊,逐次實(shí)現(xiàn)各個(gè)模塊的功能,這樣不僅便于功能的實(shí)現(xiàn),而外觀美觀,層次清晰。制作過(guò)程主要是頁(yè)面的設(shè)計(jì)和相關(guān)代碼的編寫。數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明學(xué)生信息數(shù)據(jù)表列名數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度null備注snonchar9不允許學(xué)生學(xué)號(hào)snamenvarchar20允許學(xué)生姓名sexnchar2允許學(xué)生性別birthdaynchar10允許出生日期圖3-1 學(xué)生信息數(shù)據(jù)表用戶登錄表列名數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度null備注usernamenvarchar10允許用戶名passwordnvarchar10允許登錄密碼3-2用戶登錄表數(shù)據(jù)庫(kù)的完整性和安全性數(shù)據(jù)庫(kù)中關(guān)系模型完整性約束:實(shí)體完整性、參照完整性、和用戶定義完整性。其實(shí)實(shí)體完整性和參照完整性是關(guān)系模型中必須滿足的完整性條件。因此用戶在使用數(shù)據(jù)庫(kù)必須遵守完整性規(guī)則:實(shí)體完整性規(guī)則、參因此主碼不能為空??偟膩?lái)說(shuō)數(shù)據(jù)庫(kù)完整性是指數(shù)據(jù)的正確性和相容性。例如本系統(tǒng)中學(xué)生學(xué)號(hào)必須唯一 ;性別只能是男或女等 .數(shù)據(jù)庫(kù)是否具備完整性關(guān)系到數(shù)據(jù)庫(kù)系統(tǒng)能否真實(shí)地反映現(xiàn)實(shí)世界整性是非常重要的。
,因此維護(hù)數(shù)據(jù)庫(kù)的完數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù),,,所有計(jì)算機(jī)系,,,,系統(tǒng)的主要指標(biāo)之一。登錄模板設(shè)計(jì)為了系統(tǒng)的安全,在進(jìn)入系統(tǒng)之前首先會(huì)出現(xiàn)一個(gè)登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進(jìn)入系統(tǒng)。用戶登錄窗體中放置了兩個(gè)文本框(textbox ),用來(lái)輸入用戶名和碼;兩個(gè)按鈕(Button )用來(lái)登錄、取消。截圖1:圖3-3 登錄窗口登錄代碼的關(guān)鍵部分和代碼的簡(jiǎn)單說(shuō)明:privatevoidbtnlogin_Click(objectsender,EventArgse){if(txtboxusername.Text==""){MessageBox.Show(" txtboxusername.Focus();return;}if(txtboxpassword.Text==""){MessageBox.Show(" txtboxpassword.Focus();return;}intcount;stringnametxtboxusername.Text.Trim(); stringpswtxtboxpassword.Text.Trim();UserInformationu=newUserInformation(name,psw);count=Dal.getUserInformation(u);if(count==1){common.userloginname=txtboxusername.Text.Trim();newformmain().Show();this.Hide();}else{txtboxusername.Text=txtboxpassword.Text="";txtboxusername.Focus();MessageBox.Show(" 錯(cuò)誤的用戶名或密碼");}}FormMain 主界面設(shè)計(jì)登陸成功后即可進(jìn)入 FormMain 主界面模塊。窗體名稱為學(xué)生信息管理系統(tǒng),有兩大主要控件:系統(tǒng)、數(shù)據(jù)操作、數(shù)據(jù)管理。其中系統(tǒng)中包括注銷,退出按鈕。點(diǎn)擊注銷按鈕返回到登錄界面, 點(diǎn)擊退出按鈕退出學(xué)管理系統(tǒng);點(diǎn)擊按鈕進(jìn)入到操作指令(錄入學(xué)生信息、刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息、備份、還原)按鈕,點(diǎn)擊一下進(jìn)入到各個(gè)窗口,使用相應(yīng)的功能。截圖2:圖3-4 學(xué)生信息管理系統(tǒng)圖3-5 學(xué)生信息管理系統(tǒng)圖3-6 學(xué)生信息管理系統(tǒng)FormMain主界面的關(guān)鍵代碼和代碼的簡(jiǎn)單說(shuō)明:publicpartialclassformmain:Form{publicformmain(){InitializeComponent();}BindingSourcebs=newBindingSource();privatevoidformmain_Load(objectsender,EventArgse){mybind();lbltip.Text=common.userloginname;}privatevoidbtnfirst_Click(objectsender,EventArgse){bs.MoveFirst();}privatevoidbtnlast_Click(objectsender,EventArgse){bs.MoveLast();}private void btnprevious_Click(object sender, EventArgse){bs.MovePrevious();}privatevoidbtnnext_Click(objectsender,EventArgse){bs.MoveNext();}privatevoidformmain_FormClosing(objectFormClosingEventArgse){Application.Exit();}privatevoid ToolStripMenuItem_Click(objectEventArgse){this.Hide();newformlogin().Show();}privatevoid ToolStripMenuItem_Click(objectEventArgse){Application.Exit();}privatevoid ToolStripMenuItem_Click(objectEventArgse){if (new formaddstudent().ShowDialog() ==DialogResult.OK){mybind();}}publicvoidmybind(){bs.DataSource=DAL.Dal.returnDataTable();dgv.DataSource=bs;}privatevoid ToolStripMenuItem_Click(objectEventArgse){if (new formdeletestudent().ShowDialog() ==DialogResult.OK){mybind();}}privatevoid 查找ToolStripMenuItem_Click(objectEventArgse){if (new forsearchstudent().ShowDialog() DialogResult.OK){mybind();}}}錄入學(xué)生信息模塊設(shè)計(jì)創(chuàng)建一個(gè)新的窗體 Form2,, 將Form2 改名為錄入學(xué)生信息,在該窗中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫的地方,進(jìn)行代碼的編寫。3:3-7錄入學(xué)生信息代碼編寫要點(diǎn):if(txtboxsno.Text==""){MessageBox.Show(" txtboxsno.Focus();return;}if(txtboxname.Text==""){MessageBox.Show(" txtboxname.Focus();return;}stringsno=txtboxsno.Text;stringsname=txtboxname.Text;stringsex=cmbboxsex.Text;stringday=txtboxbirthday.Text;StudentInformation student = newStudentInformation(sno,sname,sex,day);DAL.StudentDAO.insertStudent(student);DAL.StudentDAO.insertStudent(student);txtboxsno.Text="";txtboxname.Text="";txtboxbirthday.Text="";lbltip.Text="刪除學(xué)生信息模塊設(shè)計(jì)
數(shù)據(jù)已經(jīng)存入數(shù)據(jù)庫(kù) ";件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫的地方,進(jìn)行代碼的編寫。將各個(gè)控件中屬性名改為易于識(shí)別名字,這樣在編寫代碼時(shí)不會(huì)被混淆。刪除學(xué)生信息是已知學(xué)號(hào)進(jìn)行刪除的。系統(tǒng)通過(guò)錄入功能錄入了學(xué)生信息,在通過(guò)輸入學(xué)號(hào)與后臺(tái)數(shù)據(jù)庫(kù)中已存的學(xué)號(hào)進(jìn)行比較,若相等則刪除,否則不刪除并給出相應(yīng)提示。截圖4:3-8刪除學(xué)生信息代碼編寫要點(diǎn):刪除當(dāng)前學(xué)生實(shí)現(xiàn)代碼if(txtboxsno.Text==""){MessageBox.Show(" 請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào) ");txtboxsno.Focus();return;}還要進(jìn)一步判斷輸入的學(xué)號(hào)在數(shù)據(jù)庫(kù)中有沒(méi)有 .沒(méi)有則 無(wú)法刪除DAL.StudentDAO.deleteStudent(txtboxsno.Text.Trim());MessageBox.Show(" !");txtboxsno.Texttxtboxsno.Focus();清空數(shù)據(jù)庫(kù)代碼DialogResultdrMessageBox.Show(" ?","警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);if(dr==DialogResult.OK){DAL.StudentDAO.clearDatabase();}else{}查找學(xué)生信息模塊設(shè)計(jì)查找學(xué)生信息是以知道學(xué)生的學(xué)號(hào)為前提,只要后臺(tái)數(shù)據(jù)庫(kù)中已經(jīng)錄入一些學(xué)生的信息,正確輸入學(xué)生學(xué)號(hào)即可查找到要查找的學(xué)生信息。實(shí)現(xiàn)這個(gè)功能,首先要?jiǎng)?chuàng)建一個(gè)窗體,設(shè)置一些控件。點(diǎn)擊這些控件進(jìn)行代碼的編寫。下面是查找學(xué)生信息模塊的截圖。截圖5:圖3-9 查詢學(xué)生信息查詢關(guān)鍵代碼的設(shè)計(jì):(1)按學(xué)號(hào)查詢:if(txtboxsno.Text==""){MessageBox.Show(" 請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào) ");txtboxsno.Focus();return;}else{bs.DataSource =DAL.StudentDAO.searchBySno(txtboxsno.Text.Trim());dgv.DataSource=bs;txtboxsno.Text=txtboxsno.Focus();(2) 按姓名查找:if(txtboxsname.Text==""){MessageBox.Show(" 請(qǐng)輸入要查詢學(xué)生的姓名 ");txtboxsname.Focus();return;}else{bs.DataSource =DAL.StudentDAO.searchBySname(txtboxsname.Text.Trim());dgv.DataSource=bs;txtboxsname.Text="";txtboxsname.Focus();}修改學(xué)生信息模塊設(shè)計(jì)用戶錄入學(xué)生信息之后并且發(fā)現(xiàn)錄入有誤,這時(shí)就可以使用修改功能。點(diǎn)擊修改按鈕進(jìn)入修改界面,輸入要修改的學(xué)生的學(xué)號(hào),再修改學(xué)生的其他的信息。點(diǎn)擊確定按鈕,進(jìn)入編輯位置,進(jìn)行代碼的編寫。下面是修改界面的的截圖。截圖6:圖3-10 修改學(xué)生信息修改關(guān)鍵代碼的設(shè)計(jì):點(diǎn)擊確定按鈕進(jìn)入編寫代碼位置,進(jìn)行代碼編寫。stringsno=txtboxsno.Text.Trim();stringsname=txtboxsname.Text.Trim();stringssex=cmbsex.Text.Trim();stringsbirthday=txtboxday.Text.Trim();DAL.StudentDAO.modify(sno,sname,ssex,sbirthday);this.DialogResult=DialogResult.OK;MessageBox.Show(" 修改成功!"," 提示");備份學(xué)生信息模塊設(shè)計(jì)用戶進(jìn)入學(xué)生信息管理系統(tǒng)之后想備份數(shù)據(jù)庫(kù),這時(shí)就可以使用備份功能。點(diǎn)擊數(shù)據(jù)庫(kù)管理按鈕進(jìn)入備份界面,輸入備份名稱、存儲(chǔ)路徑。點(diǎn)擊確定按鈕,進(jìn)入備份,進(jìn)行代碼的編寫。下面是備份界面的的截圖。7:圖3-11 修改學(xué)生信息備份關(guān)鍵代碼的設(shè)計(jì):點(diǎn)擊確定按鈕進(jìn)入編寫代碼位置,進(jìn)行代碼編寫。if(txtdocname.Text=="")MessageBox.Show(" 請(qǐng)選擇備份文件文件! ");else{stringstrdocpath=docpath.SelectedPath;stringstrdocname=txtdocname.Text.Trim();stringpath=string.Concat(strdocpath,strdocname);DAL.Dal.DatabaseBackup(path);MessageBox.Show(" this.Close();}還原學(xué)生信息模塊設(shè)計(jì)用戶進(jìn)入學(xué)生信息管理系統(tǒng)之后想還原數(shù)據(jù)庫(kù),這時(shí)就可以使用還原功能。點(diǎn)擊數(shù)據(jù)庫(kù)管理按鈕進(jìn)入還原界面,輸入還原的路徑。點(diǎn)擊還原按鈕,進(jìn)入還原,進(jìn)行代碼的編寫。下面是還原界面的的截圖。8:圖3-12 還原學(xué)生信息還原關(guān)鍵代碼的設(shè)計(jì):點(diǎn)擊確定按鈕進(jìn)入編寫代碼位置,進(jìn)行代碼編寫。if(txtpath.Text=="")MessageBox.Show(" 請(qǐng)選擇要還原的文件! ");else{string strdocpath =txtpath.Text.ToString().Trim();stringpath=string.Concat(strdocpath);DAL.Dal.DataRevert(path);MessageBox.Show(" this.Close();}第四章登錄測(cè)試4—1登錄測(cè)試輸入用戶名和密碼,進(jìn)入學(xué)生信息管理系統(tǒng):42登錄測(cè)試錄入測(cè)試現(xiàn)在系統(tǒng)中有八個(gè)學(xué)生信息 ,使用錄入功能錄入一個(gè)學(xué)號(hào)為“號(hào)”學(xué)生信息,如圖所示:圖4-3 錄入測(cè)試錄入后顯示的內(nèi)容:圖4-4 錄入測(cè)試刪除測(cè)試上圖已存在六個(gè)學(xué)生的信息,現(xiàn)要?jiǎng)h除學(xué)號(hào)為”號(hào)“的學(xué)生信息。操作結(jié)果如圖所示:圖4-5 刪除測(cè)試查找測(cè)試查詢學(xué)號(hào)為”號(hào)“學(xué)生的信息,查詢結(jié)果如圖所示:圖4-6 查找測(cè)查找姓名為李小紅查詢結(jié)果如下:圖4-7 查找測(cè)試修改測(cè)試修改學(xué)號(hào)為”號(hào)“的學(xué)生信息。如圖所示:分別將姓名、性別、出生日期中信息改為“王寶強(qiáng)、男、”。修改后的結(jié)果如圖所示:圖4-8 修改學(xué)生信息備份測(cè)試圖4-9 備份學(xué)生信息還原測(cè)試圖4-10 還原學(xué)生信息第五章 總論這次學(xué)生信息管理系統(tǒng)真是讓我絞盡腦汁,經(jīng)過(guò)了好幾個(gè)星期才做好。其實(shí)開(kāi)發(fā)系統(tǒng)在我們現(xiàn)在看來(lái)已經(jīng)不是難事,難的是如何去構(gòu)思,如何去想。由于本人是初次開(kāi)發(fā)軟件,在知識(shí)、經(jīng)驗(yàn)方面都存在著不足。另外,在整個(gè)開(kāi)發(fā)的過(guò)程中,時(shí)間也比較倉(cāng)促。因此,該系統(tǒng)必然會(huì)存在一些缺陷和不足。因?yàn)閷?duì)學(xué)生信息管理的整個(gè)流程不夠熟悉,在需求分析時(shí)未能做到完全滿足用戶的需求。盡管本管理系統(tǒng)存在著很多不足,但其功能全面、易于日后程序更新、數(shù)據(jù)庫(kù)管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點(diǎn)是本管C#語(yǔ)言的學(xué)習(xí),但在這次設(shè)計(jì)中的最大收獲并不是掌握間相互幫助的精神。這些天的設(shè)計(jì),我深刻體會(huì)到軟件開(kāi)發(fā)是相當(dāng)辛苦的,但成功以后的喜悅也是非常美妙的,投入的越多,獲得的快樂(lè)與充實(shí)感越多。致謝從接受課題到現(xiàn)在完成課程設(shè)計(jì),衷心的感謝我的指導(dǎo)老師王老師給予了精心的指導(dǎo)和熱情的幫助,尤其在課題設(shè)計(jì)的前期準(zhǔn)備階段和本人的數(shù)據(jù)庫(kù)的設(shè)計(jì)階段,導(dǎo)師提出許多寶貴的設(shè)計(jì)意見(jiàn),在最后的測(cè)試修改階段老師在百忙之中抽出時(shí)間為我們提供了必要的幫助,這樣使得我得以順利的完成課程設(shè)計(jì)開(kāi)發(fā)工作,王老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無(wú)微不至的關(guān)懷,這將使得我終身受益,謹(jǐn)此向王老師表示衷心的感謝和崇高的敬意!參考文獻(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)原理與程序設(shè)計(jì)(第二版)萬(wàn)常選 廖國(guó)瓊等編著典型模塊與項(xiàng)目實(shí)戰(zhàn)大全 王小科 趙會(huì)東等編著附錄:程序清單studentMIS 登錄usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;usingDAL;usingnamespacestudentMIS{publicpartialclassformlogin:Form{publicformlogin(){InitializeComponent();}privatevoidbtnlogin_Click(objectsender,EventArgse){if(txtboxusername.Text==""){MessageBox.Show(" txtboxusername.Focus();return;}if(txtboxpassword.Text==""){MessageBox.Show(" txtboxpassword.Focus();return;}intcount;stringnametxtboxusername.Text.Trim(); stringpswtxtboxpassword.Text.Trim();UserInformationu=newUserInformation(name,psw);count=Dal.getUserInformation(u);if(count==1){common.userloginname=txtboxusername.Text.Trim();newformmain().Show();this.Hide();}else{txtboxusername.Text=txtboxpassword.Text="";txtboxusername.Focus();MessageBox.Show(" 錯(cuò)誤的用戶名或密碼");}}privatevoidtxtboxusername_TextChanged(objectEventArgse){}privatevoidtxtboxpassword_TextChanged(objectEventArgse){}privatevoidformlogin_Load(objectsender,EventArgse){}}}FormMain 主界面usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassformmain:Form{publicformmain(){InitializeComponent();}BindingSourcebs=newBindingSource();privatevoidformmain_Load(objectsender,EventArgse){mybind();lbltip.Text=common.userloginname;}privatevoidbtnfirst_Click(objectsender,EventArgse){bs.MoveFirst();}privatevoidbtnlast_Click(objectsender,EventArgse){bs.MoveLast();}private void btnprevious_Click(object sender, EventArgse){bs.MovePrevious();}privatevoidbtnnext_Click(objectsender,EventArgse){bs.MoveNext();}privatevoidformmain_FormClosing(objectFormClosingEventArgse){Application.Exit();}privatevoid ToolStripMenuItem_Click(objectEventArgse){this.Hide();newformlogin().Show();}privatevoid ToolStripMenuItem_Click(objectsender,EventArgse){Application.Exit();}privatevoid ToolStripMenuItem_Click(objectEventArgse){if(newformaddstudent().ShowDialog()==DialogResult.OK){mybind();}}publicvoidmybind(){bs.DataSource=DAL.Dal.returnDataTable();dgv.DataSource=bs;}privatevoid ToolStripMenuItem_Click(objectEventArgse){if(newformdeletestudent().ShowDialog()==DialogResult.OK){mybind();}}privatevoid ToolStripMenuItem_Click(objectEventArgse){if(newforsearchstudent().ShowDialog()==DialogResult.OK){mybind();}}privatevoid ToolStripMenuItem_Click(objectEventArgse){if(newformmodifystudent().ShowDialog()==DialogResult.OK){mybind();}}privatevoid 數(shù)據(jù)庫(kù)備份ToolStripMenuItem_Click(objectEventArgse){if (newformbackup().ShowDialog() ==DialogResult.OK){mybind();}}privatevoid 數(shù)據(jù)庫(kù)還原ToolStripMenuItem_Click(objectEventArgse){if (newformrevert().ShowDialog() ==DialogResult.OK){mybind();}}privatevoid ToolStripMenuItem_Click(objectEventArgse){}}}增加學(xué)生信息usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;usingMODEL;namespacestudentMIS{publicpartialclassformaddstudent:Form{publicformaddstudent(){InitializeComponent();}privatevoidbtninsert_Click(objectsender,EventArgse){if(txtboxsno.Text==""){MessageBox.Show(" txtboxsno.Focus();return;}if(txtboxname.Text==""){MessageBox.Show(" txtboxname.Focus();return;}stringsno=txtboxsno.Text;stringsname=txtboxname.Text;stringsex=cmbboxsex.Text;stringday=txtboxbirthday.Text;StudentInformationstudent=StudentInformation(sno,sname,sex,day);DAL.StudentDAO.insertStudent(student);DAL.StudentDAO.insertStudent(student);txtboxsno.Text="";txtboxname.Text="";txtboxbirthday.Text =lbltip.Text 數(shù)據(jù)已經(jīng)存入數(shù)據(jù)庫(kù)";}privatevoidformaddstudent_FormClosed(objectFormClosedEventArgse){this.DialogResult=DialogResult.OK;}private void formaddstudent_Load(object sender, EventArgse){lbltip.Text="請(qǐng)按照要求正確輸入學(xué)生的信息 !";}privatevoidtxtboxsno_TextChanged(objectEventArgse){}private voidcomboBox1_SelectedIndexChanged(objectEventArgse){}
sender,}}刪除學(xué)生信息usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassformdeletestudent:Form{publicformdeletestudent(){InitializeComponent();}privatevoidbtndeleteone_Click(objectsender,EventArgse){if(txtboxsno.Text==""){MessageBox.Show(" 請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào) ");txtboxsno.Focus();return;}還要進(jìn)一步判斷輸入的學(xué)號(hào)在數(shù)據(jù)庫(kù)中有沒(méi)有 .沒(méi)有則無(wú)法刪除DAL.StudentDAO.deleteStudent(txtboxsno.Text.Trim());MessageBox.Show(" !");txtboxsno.Texttxtboxsno.Focus();}privatevoidbtnclear_Click(objectsender,EventArgse){DialogResultdrMessageBox.Show(" 請(qǐng)確認(rèn)要清空數(shù)據(jù)庫(kù)嗎?","警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);if(dr==DialogResult.OK){DAL.StudentDAO.clearDatabase();}else{}}privatevoidformdeletestudent_Load(objectEventArgse){}privatevoidformdeletestudent_FormClosed(objectFormClosedEventArgse){this.DialogResult=DialogResult.OK;}}}查找學(xué)生信息usingDAL;usingusingSystem.Collections.Generic;usingusingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassforsearchstudent:Form{publicforsearchstudent(){InitializeComponent();}privatevoidtextBox1_TextChanged(objectEventArgse){}BindingSourcebs=newBindingSource();privatevoidbutton2_Click(objectsender,EventArgse){if(txtboxsno.Text==""){MessageBox.Show(" 請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào) ");txtboxsno.Focus();return;}else{bs.DataSource=DAL.StudentDAO.searchBySno(txtboxsno.Text.Trim());dgv.DataSource=bs;txtboxsno.Text=txtboxsno.Focus();}}privatevoidbutton1_Click(objectsender,EventArgse){if(txtboxsname.Text==""){MessageBox.Show(" 請(qǐng)輸入要查詢學(xué)生的姓名 ");txtboxsname.Focus();return;}else{bs.DataSource=DAL.StudentDAO.searchBySname(txtboxsname.Text.Trim());dgv.DataSource=bs;txtboxsname.Text=txtboxsname.Focus();}}}}修改學(xué)生信息usingDAL;usingusingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingusingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassformmodifystudent:Form{publicformmodifystudent(){InitializeComponent();}privatevoidcomboBox1_SelectedIndexChanged(objectEventArgse){}privatevoidok_Click(objectsender,EventArgse){stringsno=txtboxsno.Text.Trim();stringsname=txtboxsname.Text.Trim();stringssex=cmbsex.Text.Trim();stringsbirthday=day.Text.Trim();DAL.StudentDAO.modify(sno,sname,ssex,sbirthday);this.DialogResult=DialogResult.OK;MessageBox.Show(" 修改成功!"," 提示");}privatevoidbutton1_Click(objectsender,EventArgse){}privatevoidformmodifystudent_Paint(objectPaintEventArgse){}privatevoidformmodifystudent_FormClosed(objectFormClosedEventArgse){this.DialogResult=DialogResult.OK;}}}備份數(shù)據(jù)庫(kù)usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.IO;usingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassformbackup:Form{publicformbackup(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){if(txtdocname.Text=="")MessageBox.Show(" 請(qǐng)選擇備份文件文件! ");else{stringstrdocpath=docpath.SelectedPath;stringstrdocname=txtdocname.Text.Trim();stringpath=string.Concat(strdocpath,strdocname);DAL.Dal.DatabaseBackup(path);MessageBox.Show(" this.Close();}}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}privatevoidcbbData_SelectedIndexChanged(objectEventArgse){}privatevoidbutton3_Click_1(objectsender,EventArgse){if(docpath.ShowDialog()==DialogResult.OK){button1.Enabled=true;path.Text=docpath.SelectedPath;}}privatevoidtxtBackupName_TextChanged(objectEventArgse){}private void txtPath_TextChanged(object sender, EventArgse){}private void formbackup_Load_1(object sender, EventArgse){}}}還原數(shù)據(jù)庫(kù)usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespacestudentMIS{publicpartialclassformrevert:Form{publicformrevert(){InitializeComponent();}publicstringstrserver="";publicstringstruser="";publicstringstrpwd=privatevoidbutton3_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK){txtpath.Text=openFileDialog1.FileName;}}privatevoidfrmRevert_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){if(txtpath.Text=="")MessageBox.Show(" 請(qǐng)選擇要還原的文件! ");else{stringstrdocpath=txtpath.Text.ToString().Trim();stringpath=string.Concat(strdocpath);DAL.Dal.DataRevert(path);MessageBox.Show(" this.Close();}}private voidcomboBox1_SelectedIndexChanged(object EventArgse){}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}privatevoidformrevert_Load(objectsender,EventArgse){}privatevoidtxtdocname_TextChanged(objectEventArgse){}privatevoidtextBox1_TextChanged(objectEventArgse){}privatevoidformrevert_FormClosed(objectFormClosedEventArgse){}}}DAL層DalusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingMODEL;usingnamespaceDAL{publicclassDal{publicstaticintgetUserInformation(UserInformationuser){stringconnstr=@"server=.\;database=student;integratedintcount;using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open(); 打開(kāi)數(shù)據(jù)庫(kù)的連接using(SqlCommandcmd=conn.CreateCommand()){cmdmandText="selectcount(*)fromuserloginwhereusername=@nameandpassword=@password";對(duì)參數(shù)進(jìn)行處理cmd.Parameters.Add(newSqlParameter("@name",user.getUsername()));cmd.Parameters.Add(newSqlParameter("@password",user.getPassword()));count=Convert.ToInt32(cmd.ExecuteScalar());object}}returncount;}publicstaticDataTablereturnDataTable(){stringconnstr=@"server=.\;database=student;integratedstringsql="select*fromstudent";DataTabletemptable;using(SqlConnectionconn=SqlConnection(connstr)){conn.Open(); (SqlDataAdapteradapternewSqlDataAdapter(sql,conn)){temptable=newDataTable();adapter.Fill(temptable);}}returntemptable;}publicstaticDataTableCreateTable(){DataTabletable=newstringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=SqlConnection(connstr)){conn.Open();stringsql="select*fromstudent";using(SqlDataAdapteradapter=SqlDataAdapter(sql,conn)){adapter.Fill(table);}}returntable;}publicstaticvoidExecuteNonQuery(stringstrsql,paramsSqlParameter[]para){stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using (SqlConnection conn=newSqlConnection(connstr)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmdmandText=strsql;cmd.Parameters.AddRange(para);cmd.ExecuteNonQuery();}}}publicstaticDataTableCreateTableBySno(stringSqlParameter[]para){DataTabletable=newstringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=SqlConnection(connstr)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmdmandText=sql;cmd.Parameters.AddRange(para);using(SqlDataAdapteradapter=SqlDataAdapter(cmd)){adapter.Fill(table);}}}returntable;}publicstaticDataTableCreateTableBySname(stringSqlParameter[]para){DataTabletable=newDataTable();stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmdmandText=sql;cmd.Parameters.AddRange(para);using(SqlDataAdapteradapter=SqlDataAdapter(cmd)){adapter.Fill(table);}}}returntable;}publicstaticvoidDatabaseBackup(stringstr){stringconnect=@"server=.\;database=student;Integratedsecuritystringbackup="backupdatabasestudentdisk=@adresswithinit";SqlParameterpara=newSqlParameter("@adress",str);using(SqlConnectionconn=newSqlConnection(connect)){conn.Open();using (SqlCommandcomm=newSqlCommand(backup,conn)){comm.Parameters.Add(para);comm.ExecuteNonQuery();}}}publicstaticvoidDataRevert(stringpath){stringconnect=@"server=.\;database=master;Integratedsecurity=sspi";stringbackup="alterdatabasestudentsetofflinerollbackimmediateusemasterrestoredatabasestudentfromdisk=@adresswithreplace";SqlParameterpara=newSqlParameter("@adress",path);using(SqlConnectionconn=newSqlConnection(connect)){conn.Open();using (SqlCommandcomm=newSqlCommand(backup,conn)){comm.Parameters.Add(para);comm.ExecuteNonQuery();}}}}}StudentDAOusingusingSystem.Collections.Generic;usingusingMODEL;usingSystem.Data.SqlClient;usingusingDAL;namespaceDAL{publicstaticclassStudentDAO{publicstaticvoidinsertStudent(StudentInformationstudent){stringstrsql="insertintostudentSqlParameter[]para=newSqlParameter[]{newSqlParameter("@sno",SqlDbType.NVarChar),newSqlParameter("@sname",SqlDbType.NVarChar),newSqlParameter("@sex",SqlDbType.NVarChar),newSqlParameter("@birthday",SqlDbType.NVarCh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 門急診信息化設(shè)計(jì)與服務(wù)效率的關(guān)聯(lián)分析
- 跨學(xué)科合作推動(dòng)血透技術(shù)培訓(xùn)課程的發(fā)展
- 企業(yè)愿景的傳達(dá)與落實(shí)計(jì)劃
- 旅游景點(diǎn)安全管理方案計(jì)劃
- 個(gè)人財(cái)務(wù)管理的基本原則計(jì)劃
- 2025上能電氣集散式光伏并網(wǎng)逆變器技術(shù)規(guī)范
- 生物教學(xué)中的信息技術(shù)應(yīng)用計(jì)劃
- 江蘇省部分重點(diǎn)高中2024-2025學(xué)年高二上學(xué)期12月階段聯(lián)測(cè)生物試題含答案
- 平衡工作與生活的策略與方法計(jì)劃
- 金融科技背景下的安全產(chǎn)品銷售與客戶服務(wù)提升路徑
- 2025人教版一年級(jí)下冊(cè)數(shù)學(xué)教學(xué)進(jìn)度表
- DeepSeek教案寫作指令
- 2025年安徽省合肥熱電集團(tuán)招聘50人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 休學(xué)復(fù)學(xué)申請(qǐng)書
- 北京2025年02月北京市地質(zhì)礦產(chǎn)勘查院所屬事業(yè)單位公開(kāi)招考工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- DeepSeek零基礎(chǔ)到精通手冊(cè)(保姆級(jí)教程)
- 瓷磚鋪貼勞務(wù)承包協(xié)議書
- 2025年四川司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 新建污水處理廠工程EPC總承包投標(biāo)方案(技術(shù)標(biāo))
- 柔性電路板自動(dòng)化制造-深度研究
- GB/T 36548-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)測(cè)試規(guī)程
評(píng)論
0/150
提交評(píng)論