




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄緒論2數(shù)據(jù)庫設(shè)計21需求分析.21.1數(shù)據(jù)需求.21.2功能需求.32數(shù)據(jù)庫設(shè)計.32.1概念結(jié)構(gòu)設(shè)計.42.2邏輯結(jié)構(gòu)設(shè)計.52.3物理結(jié)構(gòu)設(shè)計.63系統(tǒng)功能設(shè)計.84系統(tǒng)功能實現(xiàn).94.1程序的運行環(huán)境.94.2系統(tǒng)的開發(fā)環(huán)境.94.3數(shù)據(jù)庫的創(chuàng)建和鏈接.9 4.4運行界面及其對應(yīng)的源代碼.105實驗總結(jié).236參考文獻.23緒 論學(xué)生學(xué)籍管理是教育教學(xué)單位不可缺少的部分,它的內(nèi)容對教學(xué)管理和學(xué)校的決策者都非常重要。給學(xué)校教學(xué)管理提供了很大的方便性,提高了工作效率。但是一直以來人們用傳統(tǒng)人工的方式管理文件文檔,這種管理方式效率低,保密性差,出錯不易更改,同時
2、也耗費了大量的人力財力,時間一長,將產(chǎn)生大量的文件數(shù)據(jù),這對于查找,維護,更新都帶來了很大的困難。隨著科學(xué)技術(shù)的不斷發(fā)展,尤其是計算機軟件水平的日益提高,使得以上問題得到了很好的解決。使用計算機可以方便的對大量數(shù)據(jù)進行增加,刪除,更新等操作。它有著人工管理永遠(yuǎn)無法比擬的優(yōu)點: 檢索迅速,查找方便,可靠性大,存儲量大,保密性好,壽命長,成本低等。例如:通過校園網(wǎng),我們可以方便的進行學(xué)生信息查詢,學(xué)生成績的添加,以及最新的教務(wù)通知等。當(dāng)然,這些都離不開數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)的支持。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機計算機技術(shù)的重要分支,也是計算機領(lǐng)域發(fā)展最快的學(xué)科之一。學(xué)生學(xué)籍管理系統(tǒng)就是數(shù)據(jù)庫在
3、網(wǎng)絡(luò)上應(yīng)用。綜上,開發(fā)這樣的一套軟件十分必要。同時舊的人工管理機制必將被以計算機為基礎(chǔ)的信息管理所取代,從而實現(xiàn)對數(shù)據(jù)的高效,長久,安全的管理。數(shù)據(jù)庫設(shè)計 一 需求分析1數(shù)據(jù)需求:(1)數(shù)據(jù)字典主要涉及到以下幾個表,分別為:學(xué)生基本信息表,課程表,專業(yè)信息表,課程設(shè)置表,學(xué)生選課表,學(xué)生與專業(yè)之間的屬于表以及管理人員的密碼表。以下是數(shù)據(jù)字典:學(xué)生基本信息表 專業(yè)信息表 Sno學(xué)生的學(xué)號Sname學(xué)生姓名Ssex性別Ssbirth學(xué)生的出生年月Pno專業(yè)編號Pname專業(yè)名稱Pnum專業(yè)人數(shù)Pdept專業(yè)所在院系課程表 課程設(shè)置表Cno課程號Cname課程名Cperiod學(xué)時Cno課程號Cnam
4、e課程名Cperiod學(xué)時 學(xué)生選課表 學(xué)生與專業(yè)的屬于表Sno學(xué)生的學(xué)號psenior學(xué)期cno課程編號grade成績sno學(xué)生的學(xué)號pno專業(yè)的編號 管理人員密碼表uname管理人員的編號upasw管理人員的密碼(2)數(shù)據(jù)流圖第一層 學(xué)生名單學(xué)籍管理系統(tǒng)學(xué) 生教 師 學(xué)生信息 成績 學(xué) 生管理人員 統(tǒng)計表 成績單第二層2查詢處理1錄入存儲處理學(xué)生記錄學(xué)生信息 成績 本次考試成績歷次考試成績4升留級處理3統(tǒng)計 處理 班平均成績 升留級表 各科平均成績第三層13錄入存儲學(xué)生信息各科成績1.2是否新生審計1.1學(xué)生信息 合格單 新生信息 學(xué)生成績學(xué)生信息第四層班級平均成績3.1 班級統(tǒng)計選擇3.
5、1學(xué)生信息 統(tǒng)計成績 各科平均成績3.3 各科第五層更新記錄4.2是否升留級4.1學(xué)生信息 升留級名單 學(xué)生記錄成績標(biāo)準(zhǔn)2功能需求:(1)實現(xiàn)學(xué)生基本情況的錄入,修改,刪除等基本操作。(2)對學(xué)生基本信息提供靈活的查詢方式。(3)完成一個班級的學(xué)期選課功能。(4)實現(xiàn)學(xué)生成績的錄入,修改,刪除等基本操作。(5)能方便的對學(xué)生的個人學(xué)期成績進行查詢。(6)具有成績統(tǒng)計,排名等功能。(7)具有留級,休學(xué)等特殊情況的處理功能。(8)能輸出常用的各種報表。(9)具有數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)功能。二數(shù)據(jù)庫設(shè)計1概念結(jié)構(gòu)設(shè)計局部ER圖人數(shù)專業(yè)號 專業(yè)名學(xué)號姓名性別出生年月院系專業(yè)學(xué)生課程號學(xué)時課程名課程整體的E
6、R圖專 業(yè)學(xué)生課程院系專業(yè)號 學(xué)時出生年月性別姓名學(xué)號密碼課程號專業(yè)名人數(shù)專業(yè)號設(shè)置課程號學(xué)期課程號選課屬于 學(xué)號成績學(xué)期課程名 2. 邏輯結(jié)構(gòu)設(shè)計(1)ER圖轉(zhuǎn)換為關(guān)系模型由ER圖可見:圖中有三個實體:學(xué)生,課程,和專業(yè);三個關(guān)系:學(xué)生選課關(guān)系,學(xué)生與專業(yè)之間的屬于關(guān)系,專業(yè)的課程設(shè)置。由于每個實體必須構(gòu)造表,所以可以先得到三個實體的信息表,實體的碼就是關(guān)系的碼,實體的屬性即關(guān)系模型的屬性:學(xué)生基本信息表: S (sno, sname, ssex, sbirth, spasw) 課程基本信息表: C (cno, cname, cperiord)專業(yè)基本信息表: P (pno, pname,
7、pnum, psdept)對應(yīng)的屬性分別為:學(xué)號,姓名,性別,出生日期,登陸密碼 課程編號,課程名,學(xué)期 專業(yè)編號,專業(yè)名,專業(yè)人數(shù),所在院系對于多對多的關(guān)系來說,與該聯(lián)系相連的實體的碼以及本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體之間的碼組成關(guān)系的碼或者關(guān)系的碼的一部分。 以上ER圖的三個聯(lián)系為多對多,所以轉(zhuǎn)換為關(guān)系模式為:課程設(shè)置表:pc ( pno, psenior, cno) 與設(shè)置相連的實體有專業(yè)和課程,根據(jù)多對多的轉(zhuǎn)換原則:專業(yè)的碼pno,課程的碼cno以及設(shè)置本身的屬性共同構(gòu)成該關(guān)系模式的碼,所以該關(guān)系模式的碼為全碼。學(xué)生選課表:SC (sno, psenior, cno, grade
8、)與選課相連的實體有學(xué)生和課程,同上由學(xué)生的碼sno,課程的碼cno以及選課本身的碼psenior構(gòu)成該關(guān)系模式的碼,即(sno,cno,psenior)。此外,選課表還有一個非主屬性grade。學(xué)生與專業(yè)的屬于表:SP(sno,pno)與屬于關(guān)系相聯(lián)的實體是學(xué)生和專業(yè)。同上由學(xué)生的碼sno,專業(yè)的碼pno構(gòu)成該關(guān)系模式的碼,由于此關(guān)系沒有其他的碼也就沒有非主屬性。(2)關(guān)系模式的優(yōu)化:學(xué)生表 s (sno,sname,ssex,sbirth,spasw)該關(guān)系模式的碼為sno,由于只有一個碼,所以不存在非主屬性對碼的部分函數(shù)依賴,可以達到2NCF。另外,該關(guān)系模式的函數(shù)依賴為: sno -&
9、gt; sname, sno -> ssex, sno -> ssex,sno -> sbirth, sno -> spasw,其間不存在傳遞依賴,故學(xué)生表可達到3NCF.課程表 C ( cno ,cname , cperiod)該關(guān)系模式的碼為cno, cname,設(shè)主碼為cno,因為該關(guān)系模式中的碼都是單一的,即不存在有兩個或者兩個以上的屬性組成的碼,所以不存在非主屬性對碼的部分函數(shù)依賴,可以達到2NCF。另外,該關(guān)系模式的函數(shù)依賴為:cno->cname, cno->cperiod, cname ->cno ,cname -> cperio
10、d. 因為cno -> cname,cname -> cperiod cno -> cperiod, 所以該關(guān)系模式中存在傳遞依賴,不能達到3NCF。故優(yōu)化該表為:C1(cno,period),C2(cname,cperiod).從而兩表都達到了3NCF。專業(yè)表 P (pno,pname,pnum,pdept)該關(guān)系模式的碼為pno,pname,其中設(shè)定pno為主碼。同課程表,該表不存在有兩個或者兩個以上屬性組成的碼,即不存在非主屬性對碼的部分函數(shù)依賴,故可達到2NCF。另外,此關(guān)系模式的函數(shù)依賴為:pno->pname, pno-> pnum, pno ->
11、; 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.課程設(shè)置表PC(pno,psenior,cno),該關(guān)系模式的碼為:(pno,psenior,cno)為全碼,所以可直接達到3NCF學(xué)生選課表 SC(sno,psenior,cno,grade)該關(guān)系模式的碼為:
12、(sno,psenior,cno),因為不存在非主性grade對碼的部分函數(shù)依賴,所以可達到2NCF,由于不存在函數(shù)依賴(表中的函數(shù)依賴只有(sno,psenior,cno)-> grade)故也達到了3NCF屬于表 SP(sno,pno)該關(guān)系模式的碼(sno,pno)也是全碼,所以也達到了3NCF用戶表 U(uname,upasw)該表的碼為uname,明顯upasw對碼uname是完全函數(shù)依賴的,從而達到2NCF。另外因為只有兩個屬性,所以不存在傳遞函數(shù)依賴,該表達到了3NCF3 物理結(jié)構(gòu)設(shè)計(1)基本表學(xué)生表s列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Cha
13、r(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否否否無是C
14、har(20)專業(yè)表p2列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pname是否否無否Char(20)pnum否否否無是smallintPnum >=0psdept否否否無是Char(20)課程設(shè)置表 pc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件pno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)學(xué)生選課表sc列名主碼候選碼外碼被參照表允許空數(shù)據(jù)類型約束條件sno是否否無否Char(10)psenior是否否無否Char(10)cno是否否無否Char(10)grade否否否無是smallintgrade>=0學(xué)生與
15、專業(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,pn
16、o)表u的主索引列為:unameb視圖:雖然關(guān)系數(shù)據(jù)模型分析的結(jié)果表示該數(shù)據(jù)庫需要定義不同的用戶視圖,但考慮到數(shù)據(jù)庫與前臺開發(fā)程序的連接比較復(fù)雜,所以該數(shù)據(jù)庫中沒有單獨定義用戶視圖,不同的用戶視圖被有選擇性的的select語句的結(jié)果集取.三系統(tǒng)功能設(shè)計學(xué)生學(xué)籍管理系統(tǒng)信息維護添加用戶學(xué) 生管理人員密碼管理成績維護基本信息信息查詢成績查詢系統(tǒng)管理查 詢成績統(tǒng)計個人成績專業(yè)成績歡迎界面身份及密碼驗證基本信息維護成績維護刪除更新添加刪除更新添加四系統(tǒng)實現(xiàn)1程序的運行環(huán)境類別標(biāo)準(zhǔn)配置最低配置計算機硬件Pentium (R) 4 CPU,128MB內(nèi)存Pentium (R) 4 CPU 1.8GHZ,1
17、28MB內(nèi)存軟件操作系統(tǒng)Windows XP Service Pack 1, Windows XP Service Pack 2, and Windows 2000Windows 98ODBC數(shù)據(jù)源命名為wangjiaDSN的數(shù)據(jù)源,連接系統(tǒng)數(shù)據(jù)庫wangjia其他2.系統(tǒng)開發(fā)環(huán)境類別標(biāo)準(zhǔn)配置最低配置計算機硬件Pentium (R) 4 CPU,128MB內(nèi)存Pentium (R) 4 CPU 1.8GHZ,128MB內(nèi)存軟件操作系統(tǒng)Windows XP Service Pack 1, Windows XP Service Pack 2, and Windows 2000Windows 98數(shù)
18、據(jù)庫后臺程序Microsoft SQL Server 2000前臺開發(fā)程序Microsoft Visual Basic 6.0ODBC數(shù)據(jù)源命名為wanjiaDSN的數(shù)據(jù)源,連接系統(tǒng)數(shù)據(jù)庫wangjia其他3數(shù)據(jù)庫的創(chuàng)建和鏈接 本系統(tǒng)的前臺開發(fā)工具為Microsoft visual basic 6.0 ,除了一些常用的控件Commandbutton,Combobox,Textbox和Label外,這里還使用了控件ADO和DataGrid。ADO用來鏈接數(shù)據(jù)庫與前臺開發(fā)程序,指定鏈接的數(shù)據(jù)源和要訪問的數(shù)據(jù),并通過綁定要使用的數(shù)據(jù)來顯示所獲得的數(shù)據(jù)。DataGrid控件的作用是以表格的形式顯示結(jié)果
19、中的全部數(shù)據(jù),但允許在表格中增加,刪除和修改紀(jì)錄。具體的鏈接過程如下:ADO(步驟)(1)選擇“工程”菜單中的部件命令,打開部件對話框,在控件選項中選擇Microsoft ADO Data Control 6.0(OLEDB)復(fù)選框,單擊確定,工具欄中會出現(xiàn)ADO數(shù)據(jù)控件的圖標(biāo),其微幫助名稱為:Adodc。(2)在當(dāng)前窗體上添加一個ADO控件。(3)打開ADO的屬性頁,設(shè)置使用的ODBC數(shù)據(jù)資源的名稱,(如果沒有則新建一個)即我所使用的數(shù)據(jù)庫wangjiaDSN;設(shè)置身份驗證,包括用戶名稱和密碼;設(shè)置紀(jì)錄源,命令類型選擇adCmdTable.(因為我所用到的記錄源都是表,所以設(shè)置為該屬性。ad
20、CmdTable.表示的是數(shù)據(jù)源的屬性是一個表名,表示其結(jié)果級是對該表執(zhí)行無條件查詢后得到的結(jié)果),表名或存儲過程名則選擇自己所要用到的表。到此,便鏈接成功。DataGrid(步驟)(1)同ADO控件一樣,選擇選擇“工程”菜單中的部件命令,打開部件對話框,在控件選項中選擇Microsoft DataGrid Control 6.0(OLEDB)復(fù)選框,單擊確定,工具欄中會出現(xiàn)DataGrid數(shù)據(jù)控件的圖標(biāo) 。(2)在當(dāng)前窗體上添加一個DataGrid控件。(3)打開DataGrid的屬性頁,設(shè)置標(biāo)題名,列,列標(biāo)題與其對應(yīng)的數(shù)據(jù)段。顏色,字體等可根據(jù)需要設(shè)定。將DataGrid的Recordso
21、urce設(shè)置為該窗體對應(yīng)的Adodc;另外可檢索字段和刪除字段,這樣可以顯示自己想要的字段,而不是將adodc所對應(yīng)的內(nèi)容全部顯示出來。到此,鏈接成功。4窗體及其所對應(yīng)的源代碼歡迎界面登陸界面源代碼Option ExplicitDim stuflag As Boolean '標(biāo)記用戶是否為學(xué)生Public LoginSucceeded As BooleanPrivate Sub cmdCancel_Click() '設(shè)置全局變量為 false '不提示失敗的登錄 LoginSucceeded = False Me.HideEnd SubPrivate Sub cmdOK
22、_Click() '檢查正確的密碼 Dim num1 As Integer Dim num2 As Integer If Len(txtUserName.Text) > 0 And Len(txtPassword) > 0 And stuflag = False Then '管理人員 Adodc1.Item(0).CommandType = adCmdText Adodc1.Item(0).RecordSource = "select * from wjuser where uname='" & Trim(txtUserName.
23、Text) & "'And upasw='" & Trim(txtPassword.Text) & "'" Adodc1.Item(0).Refresh num1 = Adodc1.Item(0).Recordset.RecordCount Else '學(xué)生 Adodc1.Item(1).CommandType = adCmdText Adodc1.Item(1).RecordSource = "select sname spasw from wjstudent where sname=
24、'" & Trim(txtUserName.Text) & "'And spasw='" & Trim(txtPassword.Text) & "'" Adodc1.Item(1).Refresh num2 = Adodc1.Item(1).Recordset.RecordCount End If If num1 <= 0 And num2 <= 0 Then MsgBox "無效的密碼,請重試!", , "登錄" txtPass
25、word.SetFocus SendKeys "Home+End" Else LoginSucceeded = True Me.Hide MDIForm1.Show End IfEnd SubPrivate Sub Option1_Click(Index As Integer)If Index = 0 Then If stuflag = False Then stuflag = True End IfElse If stuflag = True Then stuflag = False End IfEnd IfEnd Sub主界面 添加用戶界面源代碼Private Sub
26、Command1_Click() '添加用戶Adodc1.Recordset.AddNewEnd SubPrivate Sub Command2_Click() '更新Adodc1.Recordset.Fields("uname") = Trim(Text1.Text)Adodc1.Recordset.Fields("upasw") = Trim(Text2.Text)Adodc1.Recordset.UpdateMsgBox "添加成功!", , "提示"End Sub用戶密碼修改界面源代碼Pri
27、vate Sub Command1_Click()Command2.Enabled = False '使取消按鈕不可用If Len(Text4.Text) <> 0 Then '查看輸入用戶是否存在 Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from wjuser where uname='" & Trim(Text1.Text) & "'" Adodc1.Refresh If Adodc1.Recordset.
28、RecordCount <= 0 Then MsgBox "沒有該用戶!,請重新輸入", , "提示" Else If Len(Text1.Text) <> 0 Then '查看舊密碼是否正確 Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from wjuser where upasw='" & Trim(Text4.Text) & "'" Adodc1.Refresh If A
29、dodc1.Recordset.RecordCount <= 0 Then MsgBox "密碼不正確,請重新輸入!", , "提示" Else If Len(Text2.Text) <> 0 Then '確認(rèn)密碼并修改 If Len(Text3.Text) <> 0 Then If Text2.Text <> Text3.Text Then MsgBox "您的輸入不一致,請重新確認(rèn)!", , "提示" Else Adodc1.Recordset.Fields(&
30、quot;upasw") = Trim(Text3.Text) Adodc1.Recordset.Update MsgBox "修改成功", , "提示" End If End If End If End If End If End IfEnd IfEnd SubPrivate Sub Command2_Click() '取消Command1.Enabled = False '使修改按鈕不可用Adodc1.Recordset.CancelUpdateEnd SubPrivate Sub Command3_Click()Unloa
31、d MeEnd Sub學(xué)生密碼修改界面源代碼Private Sub Command1_Click() '修改Command2.Enabled = False '使取消按鈕不可用If Len(Text4.Text) <> 0 Then '查看輸入學(xué)號是否存在 Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from wjstudent where sno='" & Trim(Text4.Text) & "'" A
32、dodc1.Refresh If Adodc1.Recordset.RecordCount <= 0 Then MsgBox "沒有該學(xué)號!,請重新輸入", , "提示" Else If Len(Text1.Text) <> 0 Then '查看舊密碼是否正確 Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from wjstudent where spasw='" & Trim(Text1.Text) &
33、"'" Adodc1.Refresh If Adodc1.Recordset.RecordCount <= 0 Then MsgBox "密碼不正確,請重新輸入!", , "提示" Else If Len(Text2.Text) <> 0 Then '確認(rèn)密碼并修改 If Len(Text3.Text) <> 0 Then If Text2.Text <> Text3.Text Then MsgBox "您的輸入不一致,請重新確認(rèn)!", , "提示
34、" Else Adodc1.Recordset.Fields("spasw") = Trim(Text3.Text) Adodc1.Recordset.Update MsgBox "修改成功", , "提示" End If End If End If End If End If End IfEnd IfEnd SubPrivate Sub Command2_Click() '取消Adodc1.Recordset.CancelUpdateCommand1.Enabled = False '使修改按鈕不可用End
35、 SubPrivate Sub Command3_Click() '退出Unload MeEnd Sub個人信息維護界面源代碼Private Sub Command1_Click() '第一條Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click() '上一條Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF = True Then '如果已經(jīng)移到了第一行之前,則指針定位在第一行Adodc1.Recordset.MoveFirstEnd IfEn
36、d SubPrivate Sub Command3_Click() '下一條Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF = True Then '如果已經(jīng)移到了最后一行之后,則指針定位在最后一行Adodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command4_Click() '末一條Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command5_Click() '添加Adodc1.Recordset.AddNewCo
37、mmand5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = TrueCommand8.Enabled = TrueEnd SubPrivate Sub Command6_Click() '刪除Dim res As Integerres = MsgBox("要刪除此記錄嗎?", vbExclamation + vbYesNo + vbDefaultButton2) '提示用戶If res = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.
38、MoveNextIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.MoveLastEnd IfEnd IfEnd SubPrivate Sub Command7_Click() '更新Adodc1.Recordset.Fields("sno") = Trim(Text1.Text)Adodc1.Recordset.Fields("sname") = Trim(Text2.Text)Adodc1.Recordset.Fields("ssex") = Trim(Text3.Te
39、xt)Adodc1.Recordset.Fields("sbirth") = Trim(Text4.Text)Adodc1.Recordset.UpdateCommand5.Enabled = True '使添加和刪除按鈕可用Command6.Enabled = TrueCommand8.Enabled = False '使取消按鈕不可用End SubPrivate Sub Command8_Click()Adodc1.Recordset.CancelUpdateCommand5.Enabled = True '使添加和刪除按鈕可用Command6.
40、Enabled = TrueCommand8.Enabled = False '使取消按鈕不可用End SubPrivate Sub Command9_Click() '退出Unload MeEnd SubPrivate Sub Form_Load() '載入界面Command8.Enabled = False '使取消按鈕不可用End Sub成績維護界面源代碼Private Sub Command1_Click() '添加Adodc1.Recordset.AddNewCommand1.Enabled = False '使添加,修改,刪除按鈕不可
41、用Command3.Enabled = FalseCommand6.Enabled = True '使添加退出可用Command4.Enabled = TrueEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Command3_Click() '刪除Dim res As Integerres = MsgBox("要刪除該紀(jì)錄嗎?", vbExclamation + vbYesNo + vbDefaultButton2) '提示用戶If res
42、 = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast End IfEnd IfEnd SubPrivate Sub Command4_Click() '退出Unload MeEnd SubPrivate Sub Command5_Click() '更新Adodc1.Recordset.Fields("sno") = Trim(Text1.Text)Adodc1.R
43、ecordset.Fields("cno") = Trim(Text2.Text)Adodc1.Recordset.Fields("grade") = Trim(Text3.Text)Adodc1.Recordset.UpdateCommand1.Enabled = True '使添加和刪除按鈕可用Command3.Enabled = TrueCommand6.Enabled = False '使取消按鈕不可用End SubPrivate Sub Command6_Click() '取消Adodc1.Recordset.Cance
44、lUpdateCommand1.Enabled = TrueCommand3.Enabled = TrueEnd SubPrivate Sub Command7_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF = True ThenAdodc1.Recordset.MoveFirstEnd IfEnd SubPrivate Sub Command8_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.Move
45、LastEnd IfEnd SubPrivate Sub Command9_Click()Adodc1.Recordset.MoveLastEnd Sub成績統(tǒng)計 源代碼:Private Sub Command1_Click()If Len(Text1.Text) <> 0 Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from wjsc where sno='" & Trim(Text1.Text) & "'" Adod
46、c1.Refresh If Adodc1.Recordset.RecordCount <= 0 Then MsgBox "該學(xué)號不存在!請重新輸入", , "提示" Else '求平均分和最高分 Adodc1.RecordSource = "select avg(grade) as avggrade,Max(grade) as high from wjsc where sno='" & Trim(Text1.Text) & "'and psenior='" &a
47、mp; Trim(Combo1.Text) & "'" Adodc1.Refresh Label4.Caption = Adodc1.Recordset.Fields("avggrade") Label6.Caption = Adodc1.Recordset.Fields("high") Label4.Alignment = 2 '使文字居中 Label6.Alignment = 2 Adodc1.RecordSource = "select * from wjsc where sno='&q
48、uot; & Trim(Text1.Text) & "'and psenior='" & Trim(Combo1.Text) & "' and grade <= 59 " Adodc1.Refresh If Adodc1.Recordset.RecordCount <= 0 Then MsgBox "該同學(xué)沒有不及格的課程", , "提示" End If End IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub信息查詢源代碼Dim nameflag As Boolean '標(biāo)記是否按姓名查詢Private Sub Command1_Click() '個人信息查詢Dim searchSQL As StringAdodc1.CommandType = adCmdTextIf nameflag = False Then searchSQL = "select * from wjstudent where sno ='" & Trim(Text1.Text) & "'"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 適應(yīng)性教學(xué)策略與實施計劃
- 四年級下數(shù)學(xué)教案-空間與圖形-蘇教版
- 全國泰山版初中信息技術(shù)八年級上冊第二章第一節(jié)《數(shù)字化視頻播放》教學(xué)設(shè)計
- 視網(wǎng)膜壞死的護理
- 人才繼任計劃的制定與落實
- 工業(yè)園區(qū)安全隱患的評估與治理計劃
- 2025年無機礦物填充塑料合作協(xié)議書
- 言語治療辨音訓(xùn)練
- 九年級道德與法治下冊 第一單元 我們共同的世界 第二課 構(gòu)建人類命運共同體教學(xué)實錄設(shè)計(pdf) 新人教版
- 南京會展工作簡歷模板
- 人教版六年級數(shù)學(xué)下冊全冊大單元教學(xué)任務(wù)單
- 高考完型填空解題技巧(公開課)
- 人情往來(禮金)賬目表
- 中低空飛行的大氣環(huán)境
- 河北醫(yī)療服務(wù)價格手冊指南
- 《言語治療技術(shù)》期末考試復(fù)習(xí)題庫(含新題)
- 退役軍人就業(yè)創(chuàng)業(yè)培訓(xùn)承訓(xùn)機構(gòu)申報表
- 從政經(jīng)驗交流發(fā)言3篇
- APQP項目小組人員能力矩陣圖
- 經(jīng)顱磁刺激的基礎(chǔ)知識及臨床應(yīng)用
- 《婦產(chǎn)科-胎心監(jiān)護》課件
評論
0/150
提交評論