基于c#、sql的學生成績管理系統(tǒng)項目設計與實現(xiàn)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于C#、SQL的學生成績管理系統(tǒng)項目的設計與實現(xiàn)</p><p><b>  摘  要</b></p><p>  成績管理是任何一個教育單位不可或缺的重要組成部分之一,它的職責對于學校的教務管理工作人員來說是至關重要的,隨著電子信息技術的飛速發(fā)展,利用在計算機中實現(xiàn)管理是勢在必行。</p><p>  本文介紹了學生成

2、績管理系統(tǒng)從分析――>設計――>開發(fā)的全過程,在開發(fā)過程中,主要用Microsoft Visual Studio 2010設計窗體及代碼,MicrosoftSQLServer2005建立數(shù)據(jù)庫,實現(xiàn)了學生信息查詢、學生信息修改、學生成績錄入等基本功能。學生成績管理系統(tǒng)具有查找方便、檢索迅速、存儲量大、可靠性高、成本低等優(yōu)點,學生成績管理系統(tǒng)的使用,提高了學生成績管理的工作效率與便捷。</p><p>  本論文敘

3、述了我校學成績管理的現(xiàn)狀。重點介紹了學生成績管理系統(tǒng)的實現(xiàn)過程:包括系統(tǒng)分析、系統(tǒng)調查、數(shù)據(jù)流程分析、功能設計、數(shù)據(jù)庫設計、系統(tǒng)物理配置方案、系統(tǒng)實現(xiàn)、系統(tǒng)測試和調試。本系統(tǒng)主要功能有用戶管理、學生注冊、班級信息錄入、學生信息錄入、班級課程錄入、學校專業(yè)信息錄入、課程信息錄入、學生成績錄入、教師信息錄入、數(shù)據(jù)更新。包括功能需求描述、數(shù)據(jù)庫設計等內容,介紹了本系統(tǒng)的具體實現(xiàn),開發(fā)過程中的結論及體會。</p><p>

4、;<b>  1.緒論</b></p><p>  本畢業(yè)論文是以學校學生管理信息系統(tǒng)建設中的成績管理系統(tǒng)的開發(fā)為背景,論述了管理信息系統(tǒng)的概念、結構及系統(tǒng)開發(fā)的基本原理和方法,全文共分為緒論、系統(tǒng)分析、概要設計、詳細設計、開發(fā)總結等</p><p><b>  1.1引言</b></p><p>  在現(xiàn)代,高科技的飛躍

5、發(fā)展,計算機的大量普及,使得人們生活節(jié)奏越來越快。因此對教育行業(yè)的多元信息進行有效的管理工作,也成為教育行業(yè)中的重中之重。目前,學校工作繁雜、資料重多,雖然各類管理信息系統(tǒng)已進入高校,但還未普及,而對于學生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。為各高校教務工作人員減輕負,提高工作效率,所以制作了學生成績管理系統(tǒng)。</p><p>  學生成績管理系統(tǒng)依據(jù)開發(fā)要求主要應用于教育系統(tǒng),完成對日常的教育工作中

6、學生成績檔案的數(shù)字化管理。比較系統(tǒng)地對教務、教學上的各項服務和信息進行管理,使數(shù)據(jù)管理更現(xiàn)代化、自動化、智能化、人性化。同時,減輕了學院教務人員管理的工作量,縮小開支,提高工作效率和準確率,使其變得更具有條理性,科學性,為教育行業(yè)做出了巨大的貢獻,也為今天的民辦教育在未來市場的競爭力有所提高。</p><p>  學生成績管理系統(tǒng)使用了全新的成績管理理念,系統(tǒng)從完善的基礎信息管理,和對創(chuàng)建新用戶、已創(chuàng)建的成績數(shù)據(jù)

7、的錄入,修改,瀏覽,統(tǒng)計等功能操作,基本能夠滿足各高校教師的需要。隨著計算機技術的發(fā)展,特別是計算機網絡技術與數(shù)據(jù)庫技術的發(fā)展,使用人們的生活與工作方式發(fā)生了很大的改觀。網絡技術的應用使得計算機之間通信、信息共享成為可能,而數(shù)據(jù)庫技術的應用則為人們提供了數(shù)據(jù)存儲、信息檢索、信息分析等功能,從而使得工作更高效地進行。</p><p>  21世紀是飛速發(fā)展的信息時代,信息社會的高科技,商品經濟化的高效益,企業(yè)經營全

8、球化,使計算機的應用已經普及到經濟和生活當中的各個領域,這正是計算機被廣泛的應用于信息管理的環(huán)境。尤其是對于復雜的信息管理,計算機能充分的發(fā)揮其優(yōu)越性,高效方便的進行信息管理。為提高工作效率,同時擺脫成績管理人員在工作中出現(xiàn)的一些弊端,所以需要開發(fā)一個成績管理系統(tǒng)。為此,本系統(tǒng)就是為更好的管理成績而設計的。</p><p><b>  1.2課題研究內容</b></p><

9、;p>  此成績管理系統(tǒng)主要應用C#編程和MicrosoftSQLServer2005數(shù)據(jù)庫連接等相關知識。主要需要熟練掌握C#開發(fā)技術,將所學知識用于實際生活中,并且在實際生活中發(fā)揮其主要功能并獲得效益。本設計內容包括以下功能模塊。</p><p> ?。?)學生信息查詢模塊:主要包括可以通過學號、姓名、專業(yè)查詢。</p><p> ?。?)學生信息修改模塊:主要包括修改學號、姓名

10、、出生日期、專業(yè)、總學分刪除學生信息,更新學生信息等。</p><p> ?。?)學生成績錄入模塊:主要包括錄入學生的各科成績和刪除。</p><p><b>  3.可行性分析</b></p><p>  可行性分析也稱為可行性研究,即是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經濟、操作的方面進行分析

11、和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。</p><p>  可行性分析的目的就是用最小的代價在盡可能短的時間內確定問題能否解決??尚行匝芯繉嵸|上是要進行一次大的壓縮簡化了系統(tǒng)分析和設計的過程。</p><p><b>  3.1技術可行性</b></p><p>  

12、成績管理系統(tǒng)系統(tǒng)采用Microsoft Visual Studio 2010平臺進行開發(fā),它是一個集成于代碼編寫、運行、調試及發(fā)布等功能于一身的強大的開發(fā)環(huán)境。開發(fā)工程的效率非常高,環(huán)境也提供了自動代碼生成機制,可以有效的減少代碼編寫量。基于VS的應用程序,對于程序的發(fā)布也是十分的容易,因此,開發(fā)本系統(tǒng)在技術上完全可行。</p><p><b>  3.2經濟可行性</b></p>

13、;<p>  成績管理系統(tǒng)成本主要集中在軟件的開發(fā)上,當系統(tǒng)投入使用后可以為成績管理部門節(jié)約大量的人力。它所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本,在經濟上完全可行。</p><p><b>  3.3操作可行性</b></p><p>  在設計成績管理系統(tǒng)的過程中,充分考慮到管理人員的習慣。界面風格使用簡單大方形式呈現(xiàn)。使用方便,而無需進行任何軟件的安

14、裝,操作簡單;按權限使用并提供多種查詢手段,在操作上可行。</p><p>  3.4系統(tǒng)性能要求分析</p><p>  根據(jù)前面所作的需求分析和功能的需求可以得出,成績理系統(tǒng)實施后,應達到以下系統(tǒng)性能標準:</p><p>  規(guī)范、完善的基礎信息設置。</p><p>  對所有學生成績信息進行集中管理。</p><

15、p>  對操作人員設置不同的操作權限,為管理員提供修改權限功能。</p><p>  提供快速成績檢索功能。</p><p>  實現(xiàn)成績錄入、查詢、刪除的功能。</p><p>  系統(tǒng)運行穩(wěn)定、安全可靠。</p><p>  網站設計頁面要求美觀大方、個性化,功能全面,操作簡單。</p><p>  整體結構

16、和操作流程合理順暢,實現(xiàn)人性化設計。</p><p><b>  2.需求分析</b></p><p><b>  2.1需求分析概述</b></p><p>  隨著科學技術的不斷提高,計算機科學日漸成熟,作為計算機應用的一部分,使用計算機對圖書信息進行管理,具有手工管理所無法比擬的優(yōu)點。進行數(shù)據(jù)庫設計首先必須準確了解與

17、分析用戶需求(即用戶想要做什么)。需求分析整個設計過程的基礎,是最困難、最耗費時的一步。需求分析是否做得充分、準確,決定了在此基礎上創(chuàng)建的數(shù)據(jù)庫及應用程序的速度與質量。通過需求分析階段對圖書管理系統(tǒng)的整個應用情況作全面的、詳細的調查,確定圖書管理的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些寫成用戶和數(shù)據(jù)庫設計者都能夠接受的文檔。事實上,需求分析是數(shù)據(jù)庫開發(fā)中最難的任務之一。因為,系統(tǒng)本身是可變的

18、,用戶的需求必須不斷調整,使之與這種變化相適應。所以,設計人員必須認識到:在整個需求分析以及系統(tǒng)設計過程中,用戶參與的重要性,通過各種方法展開調查分析。現(xiàn)在我國的教育機構對學生成績管理還普遍停留在紙介質的基礎上,這樣的機制已經不能適應時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代,這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代。</p><p>  通過調查,要求系統(tǒng)具有權限設置功能的登錄模塊,學生可以

19、實現(xiàn)成績信息查詢功能。教務管理人員能夠實現(xiàn)注冊新用戶,學生成績信息的查詢、錄入、刪除、修改、瀏覽、統(tǒng)計等功能。</p><p><b>  2.2系統(tǒng)需求</b></p><p>  隨著學校規(guī)模的不斷擴大,學生人數(shù)逐年增加,學校對學生成績管理的工作量也越來越大。學生成績管理涉及大量的數(shù)據(jù)處理,如果用手工來完成龐大的數(shù)據(jù)處理,將費時費力,還容易出錯,為了滿足學校對學生

20、成績管理的需要,急需要一套學生成績管理系統(tǒng)來完成這項工作。作為計算機應用的一部分,使用計算機對學生成績信息加以管理,將擁有著手工管理所無法比擬的優(yōu)點</p><p>  例如:輸入迅速、查找方便、可靠性高、存儲量大、成本低等。這些優(yōu)點能夠極大地提高學生成績管理的效率也是學生成績的科學化、正規(guī)化管理的重要條件。同時還要注意下列幾點:</p><p>  由于各方面的限制,如人員不夠、技術缺乏

21、等原因,開發(fā)時應本著循序漸進,逐步完善的原則,不能貪大求全,盲目開發(fā)</p><p>  要注意信息的準確、及時、適用、經濟,只有及時、準確的信息才能保證系統(tǒng)開發(fā)的質量和效率。</p><p>  從全局出發(fā)注意系統(tǒng)開發(fā)的整體優(yōu)化性,同時還要注意系統(tǒng)的可擴展性和可延伸性。</p><p>  盡量采用學?,F(xiàn)有的軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用學

22、?,F(xiàn)有資源、提高系統(tǒng)開發(fā)水平和應用效果的以及減少開發(fā)成本的目的。</p><p>  系統(tǒng)應符合學校對學生成績管理的規(guī)定,滿足學生成績管理的工作需要并達到操作過程中的直觀、方便、實用、安全等要求。</p><p>  根據(jù)成績管理系統(tǒng)的特點及要求,可以將其分為“學生信息查詢模塊”“學生信息修改模塊”“學生成績錄入模塊”3個主要部分,其關系圖如圖2-2所示。</p><p

23、><b>  圖2-1關系圖</b></p><p><b>  2.3功能需求</b></p><p>  通過對一些實際成績管理的考察、分析,并結合成績管理的要求及實際的市場調查。分析本系統(tǒng)具有以下功能:</p><p>  網站設計頁面要求美觀大方、個性化,功能全面,操作簡單。</p><p

24、>  要求實現(xiàn)基礎信息的管理平臺。</p><p>  要求對所有學生進行管理。</p><p>  實現(xiàn)成績錄入、查詢、刪除的功能。</p><p>  提供快速的成績檢索功能,保證數(shù)據(jù)查詢的靈活性。</p><p>  提供靈活、方便的權限設置功能,使整個系統(tǒng)的管理分工明確。</p><p>  具有易維護性

25、和易操作性。</p><p><b>  4.數(shù)據(jù)庫設計</b></p><p>  用戶需求具體由成績管理提供保存、更新、查詢系統(tǒng),這就需求數(shù)據(jù)庫結構能充分滿足各種信息的輸入與輸出,實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便用戶訪問系統(tǒng)中的數(shù)據(jù),它與文件系統(tǒng)的重要區(qū)別是數(shù)據(jù)的充分共享,交叉訪問,與應用程序的高度獨立性</p><p>  學生

26、基本信息(XS):學生學號(XH)、學生姓名(XM)、學生專業(yè)名(ZYM)、學生性別(XB)、學生出生日期(CSSJ)、學生專業(yè)分(ZXF)、學生備注(BZ),</p><p><b>  表4-1所示。</b></p><p>  學生基本信息表4-1</p><p>  學生課程基本信息(XS_KC):學生學號(XH)、學生課程號(KCH)

27、、學生成績(CJ),表4-2所示。</p><p>  學生課程基本信息表4-2</p><p>  課程基本信息(KC):學生課程號(KCM)、學生課程名(KCM)、學生學分(XF)</p><p>  學生基本信息如表4-3所示。</p><p>  課程基本信息表4-3</p><p>  5.成績管理系統(tǒng)功能的

28、設計和實現(xiàn)</p><p><b>  5.1系統(tǒng)主界面</b></p><p>  用戶登錄窗體中放置了label控件,顯示登錄窗體標題:學生成績管理系統(tǒng),另外還增加了三個Button控件,Buuton1,button2,button3作用分別是查詢信息、修改信息、錄入成績。窗體名稱為界面功能介紹。主界面為進入學生管理系統(tǒng)各模塊的入口,用戶可根據(jù)上面各個模塊名稱單擊

29、進入各個管理模塊,從而進行對系統(tǒng)的管理操作。如圖5-1所示。</p><p>  圖5-1學生成績管理系統(tǒng)主界面</p><p><b>  主界面的代碼:</b></p><p>  usingSystem;</p><p>  usingSystem.Collections.Generic;</p>&

30、lt;p>  usingSystem.ComponentModel;</p><p>  usingSystem.Data;</p><p>  usingSystem.Drawing;</p><p>  usingSystem.Text;</p><p>  usingSystem.Windows.Forms;</p>

31、<p>  usingSystem.Data.SqlClient;</p><p>  namespacestudent_zhaoqing</p><p><b>  {</b></p><p>  publicpartialclassForm1:Form</p><p><b>  {</b

32、></p><p>  publicForm1()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  privatevoidbutton1_Click(o

33、bjectsender,EventArgse)</p><p><b>  {</b></p><p>  SearchFormsearchfrm=newSearchForm();</p><p>  searchfrm.ShowDialog();</p><p><b>  }</b></p

34、><p>  privatevoidbutton2_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  ModifyFormmodifyfrm=newModifyForm();</p><p>  modifyfrm.ShowDialog();</p

35、><p><b>  }</b></p><p>  privatevoidbutton3_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  ScoreFormscorefrm=newScoreForm();</p>

36、<p>  scorefrm.ShowDialog();</p><p><b>  }</b></p><p>  privatevoidForm1_Load(objectsender,EventArgse)</p><p><b>  {</b></p><p>  skinEngin

37、e1.SkinFile="Calmness.ssk";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.2信息查詢界面</b></p><p><b>  各個控件介紹:</b&

38、gt;</p><p>  該模塊主要由一個groupBox1(輸入查詢條件)</p><p>  三個label:分別設置名字為學生的學號,姓名,專業(yè)</p><p>  二個TextBox,分別可以輸入學生的學號和姓名,然后進行查詢</p><p>  一個ComboBox下拉列表選項菜單,作用為選擇要查詢學生的專業(yè)</p>

39、<p>  一個Button按扭,起到查詢的作用</p><p>  一個DataGridView,起到顯示要查詢學生的各種信息</p><p>  學生信息查詢的運行界面如圖5-2所示。</p><p>  圖5-2學生信息查詢界面</p><p>  學生信息查詢源代碼:</p><p>  using

40、System;</p><p>  usingSystem.Collections.Generic;</p><p>  usingSystem.ComponentModel;</p><p>  usingSystem.Data;</p><p>  usingSystem.Drawing;</p><p>  us

41、ingSystem.Text;</p><p>  usingSystem.Windows.Forms;</p><p>  usingSystem.Data.SqlClient;</p><p>  namespacestudent_zhaoqing</p><p><b>  {</b></p><

42、;p>  publicpartialclassSearchForm:Form</p><p><b>  {</b></p><p>  publicSearchForm()</p><p><b>  {</b></p><p>  InitializeComponent();</p&

43、gt;<p><b>  }</b></p><p>  privatestringsql="";</p><p>  privatevoidSearchForm_Load(objectsender,EventArgse)</p><p><b>  {</b></p>&l

44、t;p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True";</p><p>  string_sql="SelectXHas'學號',XMas'姓名',ZYMas'專業(yè)',XBas'性別',"</p>

45、<p>  +"CSSJas'出生日期',ZXFas'總學分',BZas'備注'fromXS";</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  conn.Open();</p><p>  SqlDataA

46、daptersda=newSqlDataAdapter(_sql,conn);</p><p>  DataSetds=newDataSet();</p><p>  sda.Fill(ds);</p><p>  StuDGV.DataSource=ds.Tables[0].DefaultView;</p><p>  SqlCommand

47、cmd=newSqlCommand("SelectZYMfromXS",conn);</p><p>  SqlDataReaderdr=cmd.ExecuteReader();</p><p>  stuZY.Items.Add("所有專業(yè)");</p><p>  while(dr.Read())</p>&

48、lt;p><b>  {</b></p><p>  stuZY.Items.Add(dr["ZYM"]);</p><p><b>  }</b></p><p>  dr.Close();</p><p>  conn.Close();</p><p

49、>  if(stuZY.Items.Count>0)</p><p><b>  {</b></p><p>  stuZY.SelectedIndex=0;</p><p><b>  }</b></p><p><b>  }</b></p>&l

50、t;p>  privatevoidMakeSqlStr()</p><p><b>  {</b></p><p><b>  sql="";</b></p><p>  if(stuXH.Text.Trim()!=string.Empty)</p><p><b&g

51、t;  {</b></p><p>  sql="andXHlike'%"+stuXH.Text.Trim()+"%'";</p><p><b>  }</b></p><p>  if(stuXM.Text.Trim()!=string.Empty)</p>

52、<p><b>  {</b></p><p>  sql+="andXMlike'%"+stuXM.Text.Trim()+"%'";</p><p><b>  }</b></p><p>  if(stuZY.Text!="所有專業(yè)"

53、;)</p><p><b>  {</b></p><p>  sql+="andZYM='"+stuZY.Text+"'";</p><p><b>  }</b></p><p><b>  }</b></p&

54、gt;<p>  privatevoidbutton1_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  MakeSqlStr();</p><p>  stringconnStr=@"DataSource=.;database=XSCJ;Integ

55、ratedSecurity=True";</p><p>  string_sql="SelectXHas'學號',XMas'姓名',ZYMas'專業(yè)',XBas'性別',"</p><p>  +"CSSJas'出生日期',ZXFas'總學分',BZas

56、'備注'fromXSwhere1=1"+sql;</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlDataAdaptersda=newSqlDataAdapter(_sql,conn);</p><p>  DataSetds=newDataSet();

57、</p><p>  sda.Fill(ds);</p><p>  StuDGV.DataSource=ds.Tables[0].DefaultView;</p><p><b>  }</b></p><p>  privatevoidstuZY_SelectedIndexChanged(objectsender,E

58、ventArgse)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  5.3修改刪除學生信息界面&l

59、t;/p><p><b>  控件說明:</b></p><p>  該模塊主要由一個groupBox(學生信息)</p><p>  八個Label控件:分別設置屬性名為學號,姓名,性別,出生年月,專業(yè),總學分,備注和一個特別注意。</p><p>  四個TextBox,分別可以輸入學生的學號,姓名,專業(yè),總學分然后可以

60、進行更新和刪除操作</p><p>  一個ComboBox下拉列表選項菜單,作用為設置學生的出生日期。</p><p>  一個ListBox,作用為顯示學生備注</p><p>  二個RadioButton控件,作用是設置學生的性別是男或女。</p><p>  一個DataGridView,起到顯示學生的各種信息的作用。</p&

61、gt;<p>  三個Button控件,其屬性設置為更新,刪除,取消。</p><p>  學生增加修改刪除學生信息的運行界面如圖5-3所示。</p><p>  圖5-3添加修改刪除學生信息界面</p><p><b>  更新事件:</b></p><p>  更新事件的作用是修改學生的信息,修改項為學

62、號、姓名、性別,出生日期,專業(yè)、總學分,輸入以上各項信息之后,在想修改的項目中輸入想修改的內容,點擊更新,就可以更新成功。</p><p>  更新事件的源代碼如下:</p><p>  privatevoidstuUpdate_Click(objectsender,EventArgse)</p><p><b>  {</b></p&g

63、t;<p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True";</p><p>  string_sql="selectcount(*)fromXSwhereXH='"+stuXH.Text+"'";</p><p&

64、gt;  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p><b>  try</b></p><p><b>  {</b></p><p>

65、  conn.Open();</p><p>  intcnt=(int)cmd.ExecuteScalar();</p><p>  if(cnt==1)</p><p><b>  {</b></p><p>  _sql="updateXSsetXM='"+stuXM.Text+&quo

66、t;',ZYM='"+</p><p>  stuZY.Text+"',ZXF="+</p><p>  int.Parse(stuZXF.Text)+",BZ='"+stuBZ.Text+"'whereXH='"+stuXH.Text+"'";

67、</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  stringsex=male.Checked?"男":"女";</p>&l

68、t;p>  _sql="insertintoXSvalues('"+stuXH.Text+"','"+stuXM.Text+"','"+stuZY.Text+"','"+</p><p>  sex+"','"+stuCS.Text+&q

69、uot;',"+int.Parse(stuZXF.Text)+",'"+stuBZ.Text+"')";</p><p><b>  }</b></p><p>  cmd=newSqlCommand(_sql,conn);</p><p>  cmd.ExecuteNo

70、nQuery();</p><p>  ModifyForm_Load(null,null);</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>  con

71、n.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  刪除事件:&

72、lt;/b></p><p>  刪除事件的作用是刪除學生的信息,刪除事件的源代碼如下:</p><p>  privatevoidstuDelete_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"

73、DataSource=.;database=XSCJ;IntegratedSecurity=True";</p><p>  DialogResultret=MessageBox.Show("確定要刪除記錄嗎?","刪除",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);</p><p&g

74、t;  if(ret==DialogResult.Cancel)return;</p><p>  string_sql="deletefromXSwhereXH='"+stuXH.Text+"'";</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p>&

75、lt;p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  introws=cmd.ExecuteNonQue

76、ry();</p><p>  ModifyForm_Load(null,null);</p><p>  if(rows==1)</p><p><b>  {</b></p><p>  MessageBox.Show("刪除成功!","提示",MessageBoxButton

77、s.OK,MessageBoxIcon.Information);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p>

78、;<p>  conn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  取消事件:</b></p><p>  取消事件的作用是取消操作,它的代碼如下:</p><p

79、>  privatevoidstuCancel_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p>  5.4學生成績錄入界面</p&

80、gt;<p><b>  控件說明:</b></p><p>  該模塊主要由一個groupBox(學生成績錄入)</p><p>  六個Label控件:分別設置屬性名為專業(yè),學號,課程名,姓名,成績,學分。</p><p>  三個TextBox,分別可以輸入學生的姓名,成績,學分然后可以進行插入和刪除操作</p>

81、<p>  三個ComboBox下拉列表選項菜單,作用為顯示學生的專業(yè),學號,課程名。</p><p>  一個DataGridView,起到顯示學生的各種信息的作用。</p><p>  三個Button控件,其屬性設置為插入,刪除,取消。</p><p>  學生成績錄入的運行界面如圖5-4所示。</p><p>  圖5-

82、4學生成績錄入界面</p><p>  數(shù)據(jù)庫連接操作代碼如下:</p><p>  privatevoidScoreForm_Load(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"DataSource=.;dat

83、abase=XSCJ;IntegratedSecurity=True";</p><p>  string_sql="selectdistinctZYMfromXS";</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlCommandcmd=newSq

84、lCommand(_sql,conn);</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  SqlDataReaderdr=cmd.ExecuteReader();</p><p&

85、gt;  while(dr.Read())</p><p><b>  {</b></p><p>  stuZY.Items.Add(dr[0]);</p><p><b>  }</b></p><p>  dr.Close();</p><p>  _sql="

86、;selectKCMfromKC";</p><p>  cmd=newSqlCommand(_sql,conn);</p><p>  dr=cmd.ExecuteReader();</p><p>  while(dr.Read())</p><p><b>  {</b></p><p

87、>  stuKCM.Items.Add(dr[0]);</p><p><b>  }</b></p><p>  dr.Close();</p><p><b>  }</b></p><p><b>  finally{</b></p><p>

88、;  conn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  privatevoidstuZY_SelectedIndexChanged(objectsender,EventArgse)</p><p><b>  {

89、</b></p><p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True";</p><p>  string_sql="selectXHfromXSwhereZYM='"+stuZY.Text+"'";</

90、p><p>  stuXH.Items.Clear();</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p><b>  try</b></p&g

91、t;<p><b>  {</b></p><p>  conn.Open();</p><p>  SqlDataReaderdr=cmd.ExecuteReader();</p><p>  while(dr.Read())</p><p><b>  {</b></p>

92、;<p>  stuXH.Items.Add(dr[0]);</p><p><b>  }</b></p><p>  stuXH.SelectedIndex=0;</p><p>  dr.Close();</p><p>  _sql="selectXS.XHas'學號',X

93、S.XMas'姓名',KC.KCMas'課程名',XS_KC.CJas'成績',"</p><p>  +"KC.XFas'學分',KC.XSas'學時',KC.KKXQas'開課學期'"</p><p>  +"fromXS,KC,XS_KC"

94、</p><p>  +"whereXS.XH=XS_KC.XHandKC.KCH=XS_KC.KCHandXS.ZYM='"+stuZY.Text+"'";</p><p>  SqlDataAdaptersda=newSqlDataAdapter(_sql,conn);</p><p>  DataSetd

95、s=newDataSet();</p><p>  sda.Fill(ds);</p><p>  scoreDGV.DataSource=ds.Tables[0].DefaultView;</p><p><b>  }</b></p><p><b>  finally</b></p>

96、;<p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  StuZY(ComboBox1)事件的代碼如下:</p><p

97、>  privatevoidstuZY_SelectedIndexChanged(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True";</p&g

98、t;<p>  string_sql="selectXHfromXSwhereZYM='"+stuZY.Text+"'";</p><p>  stuXH.Items.Clear();</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p>&l

99、t;p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  SqlDataReaderdr=cmd.Execut

100、eReader();</p><p>  while(dr.Read())</p><p><b>  {</b></p><p>  stuXH.Items.Add(dr[0]);</p><p><b>  }</b></p><p>  stuXH.SelectedIn

101、dex=0;</p><p>  dr.Close();</p><p>  _sql="selectXS.XHas'學號',XS.XMas'姓名',KC.KCMas'課程名',XS_KC.CJas'成績',"</p><p>  +"KC.XFas'學分'

102、,KC.XSas'學時',KC.KKXQas'開課學期'"</p><p>  +"fromXS,KC,XS_KC"</p><p>  +"whereXS.XH=XS_KC.XHandKC.KCH=XS_KC.KCHandXS.ZYM='"+stuZY.Text+"'";

103、</p><p>  SqlDataAdaptersda=newSqlDataAdapter(_sql,conn);</p><p>  DataSetds=newDataSet();</p><p>  sda.Fill(ds);</p><p>  scoreDGV.DataSource=ds.Tables[0].DefaultView;

104、</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p

105、><p><b>  }</b></p><p>  StuXH(ComboBox2)事件的代碼如下:</p><p>  privatevoidstuXH_SelectedIndexChanged(objectsender,EventArgse)</p><p><b>  {</b></p&g

106、t;<p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True";</p><p>  string_sql="selectXS.XHas'學號',XS.XMas'姓名',KC.KCMas'課程名',XS_KC.CJas'成績&#

107、39;,"</p><p>  +"KC.XFas'學分',KC.XSas'學時',KC.KKXQas'開課學期'"</p><p>  +"fromXS,KC,XS_KC"</p><p>  +"whereXS_KC.XH='"+stuX

108、H.Text+"'andXS_KC.XH=XS.XHandXS_KC.KCH=KC.KCH";</p><p>  if(stuKCM.Text.Trim()!=string.Empty)</p><p><b>  {</b></p><p>  _sql+="andKC.KCM='"+

109、stuKCM.Text+"'";</p><p><b>  }</b></p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlDataAdaptersda=newSqlDataAdapter(_sql,conn);</p>

110、<p>  DataSetds=newDataSet();</p><p>  sda.Fill(ds);</p><p>  scoreDGV.DataSource=ds.Tables[0].DefaultView;</p><p><b>  }</b></p><p>  StuKCM(ComboBo

111、x3)事件的代碼如下:</p><p>  privatevoidstuKCM_SelectedIndexChanged(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"DataSource=.;database=XSCJ;Integrate

112、dSecurity=True";</p><p>  string_sql="selectXS.XHas'學號',XS.XMas'姓名',KC.KCMas'課程名',XS_KC.CJas'成績',"</p><p>  +"KC.XFas'學分',KC.XSas'

113、學時',KC.KKXQas'開課學期'"</p><p>  +"fromXS,KC,XS_KC"</p><p>  +"whereKC.KCM='"+stuKCM.Text+"'andXS_KC.XH=XS.XHandXS_KC.KCH=KC.KCH";</p>

114、<p>  if(stuXH.Text.Trim()!=string.Empty)</p><p><b>  {</b></p><p>  _sql+="andXS.XH='"+stuXH.Text+"'";</p><p><b>  }</b><

115、;/p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlDataAdaptersda=newSqlDataAdapter(_sql,conn);</p><p>  DataSetds=newDataSet();</p><p>  sda.Fill(ds);<

116、/p><p>  scoreDGV.DataSource=ds.Tables[0].DefaultView;</p><p><b>  }</b></p><p>  privatevoidupdate_Click(objectsender,EventArgse)</p><p><b>  {</b>

117、;</p><p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=SSPI";</p><p>  string_sql="selectcount(*)fromXS_KCwhereXS_KC.XH='"+stuXH.Text+"'andXS_K

118、C.KCH=(selectKCHfromKCwhereKCM='"+stuKCM.Text+"')";</p><p>  SqlConnectionconn=newSqlConnection(connStr);</p><p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p

119、><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  intcnt=(int)cmd.ExecuteScalar();</p><p>  if(cnt==1)</p><p><b

120、>  {</b></p><p>  _sql="updateXS_KCsetXS_KC.CJ='"+stuCJ.Text+"'whereXS_KC.XH='"+stuXH.Text+"'andXS_KC.KCH=(selectKCHfromKCwhereKCM='"+stuKCM.Text+&q

121、uot;')";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  string_sql2="selectKCHfromKCwhereKCM='&

122、quot;+stuKCM.Text+"'";</p><p>  SqlCommandcmd2=newSqlCommand(_sql2,conn);</p><p>  _sql="insertintoXS_KCvalues('"+stuXH.Text.Trim()+"',"+cmd2.ExecuteSca

123、lar()+","+int.Parse(stuCJ.Text.Trim())+")";</p><p><b>  }</b></p><p>  cmd=newSqlCommand(_sql,conn);</p><p>  cmd.ExecuteNonQuery();</p><p

124、><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p>&l

125、t;b>  }</b></p><p><b>  插入事件:</b></p><p>  插入事件的作用是修改學生的信息,修改項為專業(yè)、學號、課程名,姓名,成績、學分,輸入以上各項信息之后,在想修改的項目中輸入想修改的內容,點擊插入,就可以插入成功。</p><p><b>  插入的源代碼如下:</b>

126、;</p><p>  privatevoidupdate_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=SSPI";<

127、/p><p>  string_sql="selectcount(*)fromXS_KCwhereXS_KC.XH='"+stuXH.Text+"'andXS_KC.KCH=(selectKCHfromKCwhereKCM='"+stuKCM.Text+"')";</p><p>  SqlConnec

128、tionconn=newSqlConnection(connStr);</p><p>  SqlCommandcmd=newSqlCommand(_sql,conn);</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();

129、</p><p>  intcnt=(int)cmd.ExecuteScalar();</p><p>  if(cnt==1)</p><p><b>  {</b></p><p>  _sql="updateXS_KCsetXS_KC.CJ='"+stuCJ.Text+"

130、9;whereXS_KC.XH='"+stuXH.Text+"'andXS_KC.KCH=(selectKCHfromKCwhereKCM='"+stuKCM.Text+"')";</p><p><b>  }</b></p><p><b>  else</b>

131、</p><p><b>  {</b></p><p>  string_sql2="selectKCHfromKCwhereKCM='"+stuKCM.Text+"'";</p><p>  SqlCommandcmd2=newSqlCommand(_sql2,conn);</p

132、><p>  _sql="insertintoXS_KCvalues('"+stuXH.Text.Trim()+"',"+cmd2.ExecuteScalar()+","+int.Parse(stuCJ.Text.Trim())+")";</p><p><b>  }</b>

133、</p><p>  cmd=newSqlCommand(_sql,conn);</p><p>  cmd.ExecuteNonQuery();</p><p><b>  }</b></p><p><b>  finally</b></p><p><b> 

134、 {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  刪除事件:</b></p><p>  刪除事件的作用是刪除學生的信息,

135、刪除事件的源代碼如下:</p><p>  privatevoiddelete_Click(objectsender,EventArgse)</p><p><b>  {</b></p><p>  stringconnStr=@"DataSource=.;database=XSCJ;IntegratedSecurity=True&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論