學籍管理系統(tǒng)-數(shù)據(jù)庫課程設計_第1頁
學籍管理系統(tǒng)-數(shù)據(jù)庫課程設計_第2頁
學籍管理系統(tǒng)-數(shù)據(jù)庫課程設計_第3頁
學籍管理系統(tǒng)-數(shù)據(jù)庫課程設計_第4頁
學籍管理系統(tǒng)-數(shù)據(jù)庫課程設計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程設計報告科目:設計題目:學生學籍管理系統(tǒng)專業(yè):計算機系軟件工程0402班姓名:XXXXX學號:XXXXXXX目錄緒論……………2數(shù)據(jù)庫設計……………………21.需求分析……………..21.1數(shù)據(jù)需求…………..21.2功能需求…………..32.數(shù)據(jù)庫設計…………..32.1概念結(jié)構(gòu)設計……………………..42.2邏輯結(jié)構(gòu)設計……………………..52.3物理結(jié)構(gòu)設計……………………..63.系統(tǒng)功能設計………………………..84.系統(tǒng)功能實現(xiàn)………………………..94.1程序的運行環(huán)境…………………..94.2系統(tǒng)的開發(fā)環(huán)境…………………..94.3數(shù)據(jù)庫的創(chuàng)立和鏈接……………..94.4運行界面及其對應的源代碼…………………….105.實驗總結(jié)…………….236.參考文獻…………….23緒論學生學籍管理是教育教學單位不可缺少的局部,它的內(nèi)容對教學管理和學校的決策者都非常重要。給學校教學管理提供了很大的方便性,提高了工作效率。但是一直以來人們用傳統(tǒng)人工的方式管理文件文檔,這種管理方式效率低,保密性差,出錯不易更改,同時也消耗了大量的人力財力,時間一長,將產(chǎn)生大量的文件數(shù)據(jù),這對于查找,維護,更新都帶來了很大的困難。隨著科學技術的不斷開展,尤其是計算機軟件水平的日益提高,使得以上問題得到了很好的解決。使用計算機可以方便的對大量數(shù)據(jù)進行增加,刪除,更新等操作。它有著人工管理永遠無法比較的優(yōu)點:檢索迅速,查找方便,可靠性大,存儲量大,保密性好,壽命長,本錢低等。例如:通過校園網(wǎng),我們可以方便的進行學生信息查詢,學生成績的添加,以及最新的教務通知等。當然,這些都離不開數(shù)據(jù)庫技術和網(wǎng)絡技術的支持。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術,是計算機計算機技術的重要分支,也是計算機領域開展最快的學科之一。學生學籍管理系統(tǒng)就是數(shù)據(jù)庫在網(wǎng)絡上應用。綜上,開發(fā)這樣的一套軟件十分必要。同時舊的人工管理機制必將被以計算機為根底的信息管理所取代,從而實現(xiàn)對數(shù)據(jù)的高效,長久,平安的管理。數(shù)據(jù)庫設計需求分析1.數(shù)據(jù)需求:〔1〕數(shù)據(jù)字典主要涉及到以下幾個表,分別為:學生根本信息表,課程表,專業(yè)信息表,課程設置表,學生選課表,學生與專業(yè)之間的屬于表以及管理人員的密碼表。以下是數(shù)據(jù)字典:學生根本信息表專業(yè)信息表Sno學生的學號Sname學生姓名Ssex性別Ssbirth學生的出生年月Pno專業(yè)編號Pname專業(yè)名稱Pnum專業(yè)人數(shù)Pdept專業(yè)所在院系課程表課程設置表Cno課程號Cname課程名Cperiod學時Cno課程號Cname課程名Cperiod學時學生選課表學生與專業(yè)的屬于表Sno學生的學號psenior學期cno課程編號grade成績sno學生的學號pno專業(yè)的編號管理人員密碼表uname管理人員的編號upasw管理人員的密碼〔2〕數(shù)據(jù)流圖第一層學生名單學籍管理系統(tǒng)學生教師學生信息學籍管理系統(tǒng)學生教師成績學生管理人員統(tǒng)計表成績單學生管理人員第二層2.查詢處理2.查詢處理1.錄入存儲處理學生記錄學生信息成績學生記錄本次考試成績歷次考試成績本次考試成績歷次考試成績4.升留級處理4.升留級處理3.統(tǒng)計處理班平均成績升留級表各科平均成績第三層1.3錄入存儲學生信息各科成績1.3錄入存儲學生信息各科成績1.2是否新生審計1.1學生信息合格單新生信息1.2是否新生審計1.1學生成績學生信息學生成績學生信息第四層班級平均班級平均成績3.1班級統(tǒng)計選擇3.1學生信息統(tǒng)計選擇3.1統(tǒng)計成績各科平均成績3.3各科平均成績3.3各科第五層更新記錄4.2是否升留級4.1更新記錄4.2是否升留級4.1學生信息升留級名單學生記錄成績標準成績標準2.功能需求:〔1〕實現(xiàn)學生根本情況的錄入,修改,刪除等根本操作?!?〕對學生根本信息提供靈活的查詢方式?!?〕完成一個班級的學期選課功能?!?〕實現(xiàn)學生成績的錄入,修改,刪除等根本操作?!?〕能方便的對學生的個人學期成績進行查詢?!?〕具有成績統(tǒng)計,排名等功能?!?〕具有留級,休學等特殊情況的處理功能。〔8〕能輸出常用的各種報表?!?〕具有數(shù)據(jù)備份和數(shù)據(jù)恢復功能。二.數(shù)據(jù)庫設計1.概念結(jié)構(gòu)設計局部ER圖人數(shù)專業(yè)號專業(yè)名學號姓名性別人數(shù)專業(yè)號專業(yè)名學號姓名性別出生年月院系專業(yè)學生出生年月院系專業(yè)學生課程號學時課程名課程號學時課程名課程課程整體的ER圖專業(yè)專業(yè)學生課程院系專業(yè)號學時出生年月性別姓名學號密碼課程號專業(yè)名人數(shù)專業(yè)號設置課程號學期課程號選課屬于學號成績學期課程名2.邏輯結(jié)構(gòu)設計(1)ER圖轉(zhuǎn)換為關系模型由ER圖可見:圖中有三個實體:學生,課程,和專業(yè);三個關系:學生選課關系,學生與專業(yè)之間的屬于關系,專業(yè)的課程設置。由于每個實體必須構(gòu)造表,所以可以先得到三個實體的信息表,實體的碼就是關系的碼,實體的屬性即關系模型的屬性:學生根本信息表:S(sno,sname,ssex,sbirth,spasw)課程根本信息表:C(cno,cname,cperiord)專業(yè)根本信息表:P(pno,pname,pnum,psdept)對應的屬性分別為:學號,姓名,性別,出生日期,登陸密碼課程編號,課程名,學期專業(yè)編號,專業(yè)名,專業(yè)人數(shù),所在院系對于多對多的關系來說,與該聯(lián)系相連的實體的碼以及本身的屬性均轉(zhuǎn)換為關系的屬性,各實體之間的碼組成關系的碼或者關系的碼的一局部。以上ER圖的三個聯(lián)系為多對多,所以轉(zhuǎn)換為關系模式為:課程設置表:pc(pno,psenior,cno)與設置相連的實體有專業(yè)和課程,根據(jù)多對多的轉(zhuǎn)換原那么:專業(yè)的碼pno,課程的碼cno以及設置本身的屬性共同構(gòu)成該關系模式的碼,所以該關系模式的碼為全碼。學生選課表:SC(sno,psenior,cno,grade)與選課相連的實體有學生和課程,同上由學生的碼sno,課程的碼cno以及選課本身的碼psenior構(gòu)成該關系模式的碼,即〔sno,cno,psenior〕。此外,選課表還有一個非主屬性grade。學生與專業(yè)的屬于表:SP(sno,pno)與屬于關系相聯(lián)的實體是學生和專業(yè)。同上由學生的碼sno,專業(yè)的碼pno構(gòu)成該關系模式的碼,由于此關系沒有其他的碼也就沒有非主屬性。〔2〕關系模式的優(yōu)化:學生表s(sno,sname,ssex,sbirth,spasw)該關系模式的碼為sno,由于只有一個碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關系模式的函數(shù)依賴為:sno->sname,sno->ssex,sno->ssex,sno->sbirth,sno->spasw,其間不存在傳遞依賴,故學生表可到達3NCF.課程表C(cno,cname,cperiod)該關系模式的碼為cno,cname,設主碼為cno,因為該關系模式中的碼都是單一的,即不存在有兩個或者兩個以上的屬性組成的碼,所以不存在非主屬性對碼的局部函數(shù)依賴,可以到達2NCF。另外,該關系模式的函數(shù)依賴為:cno->cname,cno->cperiod,cname->cno,cname->cperiod.因為cno->cname,cname->cperiodcno->cperiod,所以該關系模式中存在傳遞依賴,不能到達3NCF。故優(yōu)化該表為:C1(cno,period),C2〔cname,cperiod〕.從而兩表都到達了3NCF。專業(yè)表P(pno,pname,pnum,pdept)該關系模式的碼為pno,pname,其中設定pno為主碼。同課程表,該表不存在有兩個或者兩個以上屬性組成的碼,即不存在非主屬性對碼的局部函數(shù)依賴,故可到達2NCF。另外,此關系模式的函數(shù)依賴為:pno->pname,pno->pnum,pno->pdept,pname->pno,pname->pnum,pname->pdept;由于存在傳遞依賴:pno->pname,pname->pnum,pno->pnum.,所以未能到達3NCF。優(yōu)化分解為:P1(pno,pnum,pdept),P2(pname,pnum,pdept)明顯,兩表都到達了3NCF.課程設置表PC(pno,psenior,cno),該關系模式的碼為:(pno,psenior,cno)為全碼,所以可直接到達3NCF學生選課表SC(sno,psenior,cno,grade)該關系模式的碼為:〔sno,psenior,cno〕,因為不存在非主性grade對碼的局部函數(shù)依賴,所以可到達2NCF,由于不存在函數(shù)依賴〔表中的函數(shù)依賴只有〔sno,psenior,cno〕->grade〕故也到達了3NCF屬于表SP(sno,pno)該關系模式的碼(sno,pno)也是全碼,所以也到達了3NCF用戶表U(uname,upasw)該表的碼為uname,明顯upasw對碼uname是完全函數(shù)依賴的,從而到達2NCF。另外因為只有兩個屬性,所以不存在傳遞函數(shù)依賴,該表到達了3NCF物理結(jié)構(gòu)設計〔1〕根本表學生表s列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)sname否否否無是Char(20)ssex否否否無是Char(2)只可取男或女sbirth否否否無是Char(20)spasw否否否無是Char(10)課程表c1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cno是否否無否Char(10)cperiod否否否無是smallint課程表c2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件cname是否否無否Char(20)cperiod否否否無是smallint專業(yè)表p1列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)pnum否否否無是smallintPnum>=0psdept否否否無是Char(20)專業(yè)表p2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pname是否否無否Char(20)pnum否否否無是smallintPnum>=0psdept否否否無是Char(20)課程設置表pc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)學生選課表sc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)grade否否否無是smallintgrade>=0學生與專業(yè)屬于表sp列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)pno是否否無否Char(10)管理人員密碼表u列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件uname是否否無否Char(20)upasw否否否無否Char(10)(2)視圖,索引a.索引:本數(shù)據(jù)庫中的表除了主鍵本身生成的主索引外,沒有定義其他的索引。在查詢時即引用主索引即可。表s的主索引列為:sno表c1的主索引列為:cno表c2的主索引列為:cname表p1的主索引列為:pno表p2的主索引列為:pname表sc的主索引列為:(pno,psenior,cno)表sp的主索引列為:(sno,pno)表u的主索引列為:unameb.視圖:雖然關系數(shù)據(jù)模型分析的結(jié)果表示該數(shù)據(jù)庫需要定義不同的用戶視圖,但考慮到數(shù)據(jù)庫與前臺開發(fā)程序的連接比較復雜,所以該數(shù)據(jù)庫中沒有單獨定義用戶視圖,不同的用戶視圖被有選擇性的的select語句的結(jié)果集取.三.系統(tǒng)功能設計學生學籍管理系統(tǒng)學生學籍管理系統(tǒng)信息維護添加用戶學生管理人員密碼管理成績維護根本信息信息查詢成績查詢系統(tǒng)管理查詢成績統(tǒng)計個人成績專業(yè)成績歡送界面身份及密碼驗證根本信息維護成績維護根本信息維護成績維護刪除更新添加刪除更新添加刪除更新添加刪除更新添加四.系統(tǒng)實現(xiàn)1.程序的運行環(huán)境類別標準配置最低配置計算機硬件Pentium(R)4CPU,128MB內(nèi)存Pentium(R)4CPU1.8GHZ,128MB內(nèi)存軟件操作系統(tǒng)WindowsXPServicePack1,WindowsXPServicePack2,andWindows2000Windows98ODBC數(shù)據(jù)源命名為wangjiaDSN的數(shù)據(jù)源,連接系統(tǒng)數(shù)據(jù)庫wangjia其他2.系統(tǒng)開發(fā)環(huán)境類別標準配置最低配置計算機硬件Pentium(R)4CPU,128MB內(nèi)存Pentium(R)4CPU1.8GHZ,128MB內(nèi)存軟件操作系統(tǒng)WindowsXPServicePack1,WindowsXPServicePack2,andWindows2000Windows98數(shù)據(jù)庫后臺程序MicrosoftSQLServer2000前臺開發(fā)程序MicrosoftVisualBasic6.0ODBC數(shù)據(jù)源命名為wanjiaDSN的數(shù)據(jù)源,連接系統(tǒng)數(shù)據(jù)庫wangjia其他3.數(shù)據(jù)庫的創(chuàng)立和鏈接本系統(tǒng)的前臺開發(fā)工具為Microsoftvisualbasic6.0,除了一些常用的控件Commandbutton,Combobox,Textbox和Label外,這里還使用了控件ADO和DataGrid。ADO用來鏈接數(shù)據(jù)庫與前臺開發(fā)程序,指定鏈接的數(shù)據(jù)源和要訪問的數(shù)據(jù),并通過綁定要使用的數(shù)據(jù)來顯示所獲得的數(shù)據(jù)。DataGrid控件的作用是以表格的形式顯示結(jié)果中的全部數(shù)據(jù),但允許在表格中增加,刪除和修改紀錄。具體的鏈接過程如下:ADO〔步驟〕〔1〕選擇“工程〞菜單中的部件命令,翻開部件對話框,在控件選項中選擇MicrosoftADODataControl6.0(OLEDB)復選框,單擊確定,工具欄中會出現(xiàn)ADO數(shù)據(jù)控件的圖標,其微幫助名稱為:Adodc?!?〕在當前窗體上添加一個ADO控件?!?〕翻開ADO的屬性頁,設置使用的ODBC數(shù)據(jù)資源的名稱,〔如果沒有那么新建一個〕即我所使用的數(shù)據(jù)庫wangjiaDSN;設置身份驗證,包括用戶名稱和密碼;設置紀錄源,命令類型選擇adCmdTable.(因為我所用到的記錄源都是表,所以設置為該屬性。adCmdTable.表示的是數(shù)據(jù)源的屬性是一個表名,表示其結(jié)果級是對該表執(zhí)行無條件查詢后得到的結(jié)果),表名或存儲過程名那么選擇自己所要用到的表。到此,便鏈接成功。DataGrid〔步驟〕〔1〕同ADO控件一樣,選擇選擇“工程〞菜單中的部件命令,翻開部件對話框,在控件選項中選擇MicrosoftDataGridControl6.0(OLEDB)復選框,單擊確定,工具欄中會出現(xiàn)DataGrid數(shù)據(jù)控件的圖標。〔2〕在當前窗體上添加一個DataGrid控件?!?〕翻開DataGrid的屬性頁,設置標題名,列,列標題與其對應的數(shù)據(jù)段。顏色,字體等可根據(jù)需要設定。將DataGrid的Recordsource設置為該窗體對應的Adodc;另外可檢索字段和刪除字段,這樣可以顯示自己想要的字段,而不是將adodc所對應的內(nèi)容全部顯示出來。到此,鏈接成功。4.窗體及其所對應的源代碼歡送界面登陸界面源代碼OptionExplicitDimstuflagAsBoolean'標記用戶是否為學生PublicLoginSucceededAsBooleanPrivateSubcmdCancel_Click()'設置全局變量為false'不提示失敗的登錄LoginSucceeded=FalseMe.HideEndSubPrivateSubcmdOK_Click()'檢查正確的密碼Dimnum1AsIntegerDimnum2AsIntegerIfLen(txtUserName.Text)>0AndLen(txtPassword)>0Andstuflag=FalseThen'管理人員Adodc1.Item(0).CommandType=adCmdTextAdodc1.Item(0).RecordSource="select*fromwjuserwhereuname='"&Trim(txtUserName.Text)&"'Andupasw='"&Trim(txtPassword.Text)&"'"Adodc1.Item(0).Refreshnum1=Adodc1.Item(0).Recordset.RecordCountElse'學生Adodc1.Item(1).CommandType=adCmdTextAdodc1.Item(1).RecordSource="selectsnamespaswfromwjstudentwheresname='"&Trim(txtUserName.Text)&"'Andspasw='"&Trim(txtPassword.Text)&"'"Adodc1.Item(1).Refreshnum2=Adodc1.Item(1).Recordset.RecordCountEndIfIfnum1<=0Andnum2<=0ThenMsgBox"無效的密碼,請重試!",,"登錄"txtPassword.SetFocusSendKeys"{Home}+{End}"ElseLoginSucceeded=TrueMe.HideMDIForm1.ShowEndIfEndSubPrivateSubOption1_Click(IndexAsInteger)IfIndex=0ThenIfstuflag=FalseThenstuflag=TrueEndIfElseIfstuflag=TrueThenstuflag=FalseEndIfEndIfEndSub主界面添加用戶界面源代碼PrivateSubCommand1_Click()'添加用戶EndSubPrivateSubCommand2_Click()'更新Adodc1.Recordset.Fields("uname")=Trim(Text1.Text)Adodc1.Recordset.Fields("upasw")=Trim(Text2.Text)MsgBox"添加成功!",,"提示"EndSub用戶密碼修改界面源代碼PrivateSubCommand1_Click()Command2.Enabled=False'使取消按鈕不可用IfLen(Text4.Text)<>0Then'查看輸入用戶是否存在Adodc1.CommandType=adCmdTextAdodc1.RecordSource="select*fromwjuserwhereuname='"&Trim(Text1.Text)&"'"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"沒有該用戶!,請重新輸入",,"提示"ElseIfLen(Text1.Text)<>0Then'查看舊密碼是否正確Adodc1.CommandType=adCmdTextAdodc1.RecordSource="select*fromwjuserwhereupasw='"&Trim(Text4.Text)&"'"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"密碼不正確,請重新輸入!",,"提示"ElseIfLen(Text2.Text)<>0Then'確認密碼并修改IfLen(Text3.Text)<>0ThenIfText2.Text<>Text3.TextThenMsgBox"您的輸入不一致,請重新確認!",,"提示"ElseAdodc1.Recordset.Fields("upasw")=Trim(Text3.Text)MsgBox"修改成功",,"提示"EndIfEndIfEndIfEndIfEndIfEndIfEndIfEndSubPrivateSubCommand2_Click()'取消Command1.Enabled=False'使修改按鈕不可用EndSubPrivateSubCommand3_Click()UnloadMeEndSub學生密碼修改界面源代碼PrivateSubCommand1_Click()'修改Command2.Enabled=False'使取消按鈕不可用IfLen(Text4.Text)<>0Then'查看輸入學號是否存在Adodc1.CommandType=adCmdTextAdodc1.RecordSource="select*fromwjstudentwheresno='"&Trim(Text4.Text)&"'"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"沒有該學號!,請重新輸入",,"提示"ElseIfLen(Text1.Text)<>0Then'查看舊密碼是否正確Adodc1.CommandType=adCmdTextAdodc1.RecordSource="select*fromwjstudentwherespasw='"&Trim(Text1.Text)&"'"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"密碼不正確,請重新輸入!",,"提示"ElseIfLen(Text2.Text)<>0Then'確認密碼并修改IfLen(Text3.Text)<>0ThenIfText2.Text<>Text3.TextThenMsgBox"您的輸入不一致,請重新確認!",,"提示"ElseAdodc1.Recordset.Fields("spasw")=Trim(Text3.Text)MsgBox"修改成功",,"提示"EndIfEndIfEndIfEndIfEndIfEndIfEndIfEndSubPrivateSubCommand2_Click()'取消Command1.Enabled=False'使修改按鈕不可用EndSubPrivateSubCommand3_Click()'退出UnloadMeEndSub個人信息維護界面源代碼PrivateSubCommand1_Click()'第一條EndSubPrivateSubCommand2_Click()'上一條IfAdodc1.Recordset.BOF=TrueThen'如果已經(jīng)移到了第一行之前,那么指針定位在第一行EndIfEndSubPrivateSubCommand3_Click()'下一條IfAdodc1.Recordset.EOF=TrueThen'如果已經(jīng)移到了最后一行之后,那么指針定位在最后一行EndIfEndSubPrivateSubCommand4_Click()'末一條EndSubPrivateSubCommand5_Click()'添加Command5.Enabled=FalseCommand6.Enabled=FalseCommand7.Enabled=TrueCommand8.Enabled=TrueEndSubPrivateSubCommand6_Click()'刪除DimresAsIntegerres=MsgBox("要刪除此記錄嗎?",vbExclamation+vbYesNo+vbDefaultButton2)'提示用戶Ifres=vbYesThenIfAdodc1.Recordset.EOF=TrueThenEndIfEndIfEndSubPrivateSubCommand7_Click()'更新Adodc1.Recordset.Fields("sno")=Trim(Text1.Text)Adodc1.Recordset.Fields("sname")=Trim(Text2.Text)Adodc1.Recordset.Fields("ssex")=Trim(Text3.Text)Adodc1.Recordset.Fields("sbirth")=Trim(Text4.Text)Command5.Enabled=True'使添加和刪除按鈕可用Command6.Enabled=TrueCommand8.Enabled=False'使取消按鈕不可用EndSubPrivateSubCommand8_Click()Command5.Enabled=True'使添加和刪除按鈕可用Command6.Enabled=TrueCommand8.Enabled=False'使取消按鈕不可用EndSubPrivateSubCommand9_Click()'退出UnloadMeEndSubPrivateSubForm_Load()'載入界面Command8.Enabled=False'使取消按鈕不可用EndSub成績維護界面源代碼PrivateSubCommand1_Click()'添加Command1.Enabled=False'使添加,修改,刪除按鈕不可用Command3.Enabled=FalseCommand6.Enabled=True'使添加退出可用Command4.Enabled=TrueEndSubPrivateSubCommand2_Click()EndSubPrivateSubCommand3_Click()'刪除DimresAsIntegerres=MsgBox("要刪除該紀錄嗎?",vbExclamation+vbYesNo+vbDefaultButton2)'提示用戶Ifres=vbYesThenIfAdodc1.Recordset.EOF=TrueThenEndIfEndIfEndSubPrivateSubCommand4_Click()'退出UnloadMeEndSubPrivateSubCommand5_Click()'更新Adodc1.Recordset.Fields("sno")=Trim(Text1.Text)Adodc1.Recordset.Fields("cno")=Trim(Text2.Text)Adodc1.Recordset.Fields("grade")=Trim(Text3.Text)Command1.Enabled=True'使添加和刪除按鈕可用Command3.Enabled=TrueCommand6.Enabled=False'使取消按鈕不可用EndSubPrivateSubCommand6_Click()'取消Command1.Enabled=TrueCommand3.Enabled=TrueEndSubPrivateSubCommand7_Click()IfAdodc1.Recordset.BOF=TrueThenEndIfEndSubPrivateSubCommand8_Click()IfAdodc1.Recordset.EOF=TrueThenEndIfEndSubPrivateSubCommand9_Click()EndSub成績統(tǒng)計源代碼:PrivateSubCommand1_Click()IfLen(Text1.Text)<>0ThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*fromwjscwheresno='"&Trim(Text1.Text)&"'"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"該學號不存在!請重新輸入",,"提示"Else'求平均分和最高分Adodc1.RecordSource="selectavg(grade)as[avggrade],Max(grade)as[high]fromwjscwheresno='"&Trim(Text1.Text)&"'andpsenior='"&Trim(Combo1.Text)&"'"Adodc1.RefreshLabel4.Caption=Adodc1.Recordset.Fields("avggrade")Label6.Caption=Adodc1.Recordset.Fields("high")Label4.Alignment=2'使文字居中Label6.Alignment=2Adodc1.RecordSource="select*fromwjscwheresno='"&Trim(Text1.Text)&"'andpsenior='"&Trim(Combo1.Text)&"'andgrade<=59"Adodc1.RefreshIfAdodc1.Recordset.RecordCount<=0ThenMsgBox"該同學沒有不及格的課程",,"提示"EndIfEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSub信息查詢源代碼DimnameflagAsBoolean'標記是否按姓名查詢PrivateSubCommand1_Click()'個人信息查詢DimsearchSQLAsString

溫馨提示

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

最新文檔

評論

0/150

提交評論