SQL 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)-2023修改整理_第1頁(yè)
SQL 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)-2023修改整理_第2頁(yè)
SQL 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)-2023修改整理_第3頁(yè)
SQL 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)-2023修改整理_第4頁(yè)
SQL 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)-2023修改整理_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

千里之行,始于足下讓知識(shí)帶有溫度。第第2頁(yè)/共2頁(yè)精品文檔推薦SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生成績(jī)系統(tǒng)SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì)

同學(xué)成果管理系統(tǒng)設(shè)計(jì)

(本設(shè)計(jì)以VB為前臺(tái)對(duì)數(shù)據(jù)庫(kù)舉行操作)

1.需求

本系統(tǒng)主要用于小學(xué)的同學(xué)成果管理。

1.用戶(hù)身份的驗(yàn)證

2.同學(xué)基本信息管理

3.按班級(jí)選課

4.同學(xué)成果的管理

2.總體設(shè)計(jì)

本系統(tǒng)包括:標(biāo)準(zhǔn)模塊、系統(tǒng)登錄模塊、主界面模塊、系統(tǒng)管理模塊、同學(xué)基本信息管理模塊、選課模塊、成果管理模塊。

1.標(biāo)準(zhǔn)模塊

定義公共變量和過(guò)程。

2.系統(tǒng)登錄模塊

舉行用戶(hù)身份的驗(yàn)證。

3.主界面模塊

作為系統(tǒng)總界面,供用戶(hù)舉行各項(xiàng)挑選。

4.系統(tǒng)管理模塊

用戶(hù)管理及系統(tǒng)退出。

5.同學(xué)基本信息管理模塊

同學(xué)基本信息的錄入和查詢(xún)。

6.選課模塊

為班級(jí)選課。

7.成果管理模塊

舉行同學(xué)成果的錄入及查詢(xún)。

3.數(shù)據(jù)庫(kù)設(shè)計(jì)及配置

3.1.數(shù)據(jù)庫(kù)設(shè)計(jì)

該數(shù)據(jù)庫(kù)由以下幾個(gè)表組成:

用戶(hù)表、同學(xué)基本信息表、班級(jí)課程表、同學(xué)成果表。

3.1.1用戶(hù)表

3.1.2同學(xué)基本信息表

包括學(xué)號(hào)、姓名、電話(huà)、地址、班級(jí)名稱(chēng)、性別。

3.1.3班級(jí)課程表

3.1.4同學(xué)成果表

3.2.數(shù)據(jù)庫(kù)中各表關(guān)系

同學(xué)基本信息表與班級(jí)課程表通過(guò)班級(jí)名稱(chēng)字段相關(guān)聯(lián),同學(xué)基本信息表與同學(xué)成果表通過(guò)學(xué)號(hào)字段相關(guān)聯(lián),班級(jí)課程表與同學(xué)成果表通過(guò)課程名稱(chēng)字段相關(guān)聯(lián)。

4.系統(tǒng)實(shí)現(xiàn)

4.1.標(biāo)準(zhǔn)模塊(公有模塊)

4.1.1標(biāo)準(zhǔn)模塊中的數(shù)據(jù)定義

4.1.2標(biāo)準(zhǔn)模塊代碼設(shè)計(jì)

OptionExplicit

PublicUserNameAsString

PublicUserTypeAsBoolean

4.2.系統(tǒng)登錄模塊

4.2.1說(shuō)明

舉行用戶(hù)身份的驗(yàn)證。特定的用戶(hù)才干登錄到系統(tǒng)。

4.2.2窗體設(shè)計(jì)

系統(tǒng)登錄窗體的窗體類(lèi)型為Form,界面如下圖所示:

4.2.3代碼設(shè)計(jì)

●公共定義

OptionExplicit

DimCount1AsInteger

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

Count1=0‘錯(cuò)誤次數(shù)清零EndSub

●取消按鈕(cmdCancel)處理程序(Click)

PrivateSubcmdCancel_Click()

UnloadMe‘系統(tǒng)退出

EndSub

確定按鈕(cmdOk)處理程序(Click)

PrivateSubcmdOk_Click()

Dims1AsString

DimPasswordAsString

OnErrorResumeNext

IfText1.Text=""Then‘用戶(hù)名為空,則退出

MsgBox("用戶(hù)名不能為空,請(qǐng)重新輸入")

Text1.SetFocus

ExitSub

EndIf

‘按輸入的用戶(hù)名舉行查詢(xún)

s1="SELECT*from用戶(hù)表WHERE用戶(hù)名='"&Text1.Text&"'"

Adodc1.RecordSource=s1

Adodc1.Refresh

IfAdodc1.Recordset.EOF=FalseThen‘推斷查詢(xún)結(jié)果

UserName=Adodc1.Recordset.Fields(0)‘有該用戶(hù)名,即用戶(hù)名正確Password=Adodc1.Recordset.Fields(1)

UserType=Adodc1.Recordset.Fields(2)

IfPassword=Text2.TextThen‘推斷密碼是否正確

UnloadMe‘密碼正確,關(guān)閉當(dāng)前窗體

FrmMain.Show‘顯示主界面窗體

ExitSub

Else

MsgBox("密碼錯(cuò)誤,請(qǐng)重新輸入")‘密碼錯(cuò)誤,提醒

Text2.SetFocus

Text2.Text=""

EndIf

Else‘沒(méi)有該用戶(hù)名,即用戶(hù)名錯(cuò)誤MsgBox"用戶(hù)名錯(cuò)誤,請(qǐng)重新輸入"

Text1.SetFocus

Text1.Text=""

Text2.Text=""

EndIf

Count1=Count1+1‘錯(cuò)誤次數(shù)累計(jì)

IfCount1>=3Then

MsgBox"錯(cuò)誤超過(guò)3次,系統(tǒng)退出"

UnloadMe

EndIf

EndSub

4.3.主界面模塊

4.3.1說(shuō)明

作為系統(tǒng)總界面,供用戶(hù)舉行各項(xiàng)挑選。

4.3.2窗體設(shè)計(jì)

主界面模塊窗體類(lèi)型為MDIForm,界面如下圖所示。

4.3.3代碼設(shè)計(jì)

●窗體變?yōu)榛顒?dòng)窗體處理程序(MDIForm-Activate)

PrivateSubMDIForm_Activate()

WindowState=2‘窗體最大化狀態(tài)

StatusBar1.Panels(1).Text="用戶(hù)名:"&UserName‘在狀態(tài)欄顯示用戶(hù)名、用戶(hù)類(lèi)型IfUserType=TrueThen

StatusBar1.Panels(2).Text="用戶(hù)類(lèi)型:管理員"

Else

StatusBar1.Panels(2).Text="用戶(hù)類(lèi)型:一般用戶(hù)"

EndIf

IfUserType=FalseThen‘對(duì)一般用戶(hù)設(shè)某些菜單項(xiàng)不行用AA1.Enabled=False

BB1.Enabled=False

CC.Enabled=False

DD1.Enabled=False

Toolbar1.Buttons(1).Enabled=False‘對(duì)一般用戶(hù)設(shè)工具欄的某些按鈕不行用Toolbar1.Buttons(3).Enabled=False

Toolbar1.Buttons(6).Enabled=False

Toolbar1.Buttons(7).Enabled=False

Toolbar1.Buttons(9).Enabled=False

EndIf

EndSub

●定時(shí)器(Timer1)處理程序(Timer)

PrivateSubTimer1_Timer()

StatusBar1.Panels(3).Text=Now‘在狀態(tài)欄中顯示當(dāng)前時(shí)光EndSub

●工具欄(Toolbar1)處理程序(ButtonClick)

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Index

Case1

Form11.Show(1)‘用戶(hù)管理

Case3

Form21.Show(1)‘同學(xué)基本信息維護(hù)

Case4

Form22.Show(1)‘同學(xué)基本信息查詢(xún)

Case6

Form31.Show(1)‘課程添加

Case7

Form32.Show(1)‘課程刪除

Case9

Form41.Show(1)‘同學(xué)成果維護(hù)

Case10

Form42.Show(1)‘同學(xué)成果查詢(xún)Case12

UnloadMe‘系統(tǒng)退出

EndSelect

EndSub

●“用戶(hù)管理”菜單項(xiàng)處理程序(AA1-Click)

PrivateSubAA1_Click()

Form11.Show(1)

EndSub

●“退出”菜單項(xiàng)處理程序(AA3-click)

PrivateSubAA3_Click()

UnloadMe

EndSub

●“同學(xué)基本信息維護(hù)”菜單項(xiàng)處理程序(BB1-click)

PrivateSubBB1_Click()

Form21.Show(1)

EndSub

●“同學(xué)基本信息查詢(xún)”菜單項(xiàng)處理程序(BB2-click)

PrivateSubBB2_Click()

Form22.Show(1)

EndSub

●“課程添加”菜單項(xiàng)處理程序(CC1-click)

PrivateSubCC1_Click()

Form31.Show(1)

EndSub

●“課程刪除”菜單項(xiàng)處理程序(CC2-click)

PrivateSubCC2_Click()

Form32.Show(1)

EndSub

●“同學(xué)成果維護(hù)”菜單項(xiàng)處理程序(DD1-click)

PrivateSubDD1_Click()

Form41.Show(1)

EndSub

●“同學(xué)成果查詢(xún)”菜單項(xiàng)處理程序(DD2-click)

PrivateSubDD2_Click()

Form42.Show(1)

EndSub

4.4.用戶(hù)管理模塊

4.4.1說(shuō)明

創(chuàng)建、刪除用戶(hù)。設(shè)定用戶(hù)權(quán)限。

4.4.2窗體設(shè)計(jì)

4.4.3代碼設(shè)計(jì)

●上一條(Command1)處理(Click)PrivateSubCommand1_Click()

Command2.Enabled=True

Adodc1.Recordset.MovePrevious

IfAdodc1.Recordset.BOFThen

Command1.Enabled=False

Adodc1.Recordset.MoveFirst

EndIf

EndSub

●下一條(Command2)處理(Click)PrivateSubCommand2_Click()

Command1.Enabled=True

Adodc1.Recordset.MoveNext

IfAdodc1.Recordset.EOFThen

Command2.Enabled=False

Adodc1.Recordset.MoveLast

EndIf

EndSub

●添加(Command3)處理(Click)

PrivateSubCommand3_Click()

IfCommand3.Caption="添加"ThenCommand3.Caption="確定"

Command1.Enabled=False

Command2.Enabled=False

Command4.Enabled=False

Adodc1.Recordset.AddNew

Text1.SetFocus

Else

IfText1.Text=""Then

MsgBox("用戶(hù)名不能為空")

ExitSub

EndIf

Command3.Caption="添加"

Adodc1.Recordset.Update

Command1.Enabled=True

Command2.Enabled=True

Command4.Enabled=True

EndIf

EndSub

●刪除(Command4)處理(Click)

PrivateSubCommand4_Click()

Adodc1.Recordset.Delete

Adodc1.Recordset.MoveNext

IfAdodc1.Recordset.EOFThen

Adodc1.Recordset.MoveLast

EndIf

EndSub

●退出(Command5)處理(Click)

PrivateSubCommand5_Click()

UnloadMe

EndSub

4.5.同學(xué)基本信息管理模塊

4.5.1說(shuō)明

同學(xué)基本信息的添加、刪除、查詢(xún)。

該模塊有兩個(gè)窗體:同學(xué)基本信息維護(hù)窗體和同學(xué)基本信息查詢(xún)窗體

4.5.2.1.窗體設(shè)計(jì)

4.5.2.2.代碼設(shè)計(jì)

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowAddNew=TrueDataGrid1.AllowDelete=TrueDataGrid1.AllowUpdate=TrueEndSub

●退出(Command1)處理(Click)PrivateSubCommand1_Click()

UnloadMe

EndSub

4.5.3.1.窗體設(shè)計(jì)

4.5.3.2.代碼設(shè)計(jì)

●查詢(xún)(Command1)處理(Click)

PrivateSubCommand1_Click()

Dims1AsString

s1=""

IfCheck1.Value=1Then

IfText1.Text""Then

s1=s1&"姓名='"&Text1.Text&"'"

EndIf

EndIf

IfCheck2.Value=1Then

IfText2.Text""Then

Ifs1""Then

s1=s1&"and"

EndIf

s1=s1&"學(xué)號(hào)='"&Text2.Text&"'"

EndIf

EndIf

IfCheck3.Value=1Then

IfDataList1.Text""Then

Ifs1""Then

s1=s1&"and"

EndIf

s1=s1&"班級(jí)名稱(chēng)='"&DataList1.Text&"'"

EndIf

EndIf

Ifs1""Then

s1="where"&s1

EndIf

Adodc1.RecordSource="select*from同學(xué)基本信息表"&s1Adodc1.Refresh

SetDataGrid1.DataSource=Adodc1

EndSub

●退出(Command2)處理(Click)

PrivateSubCommand2_Click()

UnloadMe

EndSub

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowAddNew=False

DataGrid1.AllowDelete=FalseDataGrid1.AllowUpdate=FalseEndSub

4.6.選課模塊

4.6.1說(shuō)明

該模塊為一個(gè)班級(jí)選課。

4.6.2課程添加窗體

用于課程的添加和查詢(xún)

4.6.2.1.窗體設(shè)計(jì)

4.6.2.2.代碼設(shè)計(jì)

●添加(Command1)處理(Click)

PrivateSubCommand1_Click()

Dims1AsString,s2AsString

OnErrorResumeNext

IfText1.Text=""OrText2.Text=""Then

MsgBox("輸入不能為空")

ExitSub

EndIf

s1="select*from班級(jí)課程表where班級(jí)名稱(chēng)='"

s2=Text1.Text&"'and課程名稱(chēng)='"&Text2.Text&"'"

Adodc1.RecordSource=s1&s2

Adodc1.Refresh

IfAdodc1.Recordset.EOF=FalseThen

Text1.SetFocus

MsgBox"該記錄已存在,請(qǐng)重新輸入",,"警告"

ExitSub

EndIf

s1="select*from班級(jí)課程表"

Adodc1.RecordSource=s1

Adodc1.Refresh

Adodc1.Recordset.MoveLast

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields("班級(jí)名稱(chēng)")=Text1.Text

Adodc1.Recordset.Fields("課程名稱(chēng)")=Text2.Text

Adodc1.Recordset.Update

Adodc1.Refresh

s1="select課程名稱(chēng)from班級(jí)課程表where班級(jí)名稱(chēng)='"&Text1.Text&"'"Adodc1.RecordSource=s1

Adodc1.Refresh

SetDataGrid1.DataSource=Adodc1.Recordset

Text2.SetFocus

Text2.Text=""

ExitSub

EndSub

●查詢(xún)(Command2)處理(Click)

PrivateSubCommand2_Click()

Dims1AsString

s1="select課程名稱(chēng)from班級(jí)課程表where班級(jí)名稱(chēng)='"&Text1.Text&"'"

Adodc1.RecordSource=s1

Adodc1.Refresh

SetDataGrid1.DataSource=Adodc1.RecordsetEndSub

●退出(Command3)處理(Click)

PrivateSubCommand3_Click()

UnloadMe

EndSub

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowAddNew=False

DataGrid1.AllowDelete=False

DataGrid1.AllowUpdate=False

EndSub

4.6.3課程刪除窗體

4.6.3.1.窗體設(shè)計(jì)

4.6.3.2.代碼設(shè)計(jì)

●退出(Command1)處理(Click)

PrivateSubCommand1_Click()

UnloadMe

EndSub

●數(shù)據(jù)列表框(DataList1)處理(Click)

PrivateSubDataList1_Click()

Dims1AsString

s1="select*from班級(jí)課程表where班級(jí)名稱(chēng)='"&DataList1.Text&"'"Adodc2.RecordSource=s1

Adodc2.Refresh

SetDataGrid1.DataSource=Adodc2

EndSub

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowDelete=True

DataGrid1.AllowUpdate=True

DataGrid1.AllowAddNew=False

EndSub

4.7.成果管理模塊

4.7.1說(shuō)明

舉行同學(xué)成果的錄入及查詢(xún)。

4.7.2成果錄入窗體

舉行同學(xué)成果的添加、修改及刪除。

4.7.2.1.窗體設(shè)計(jì)

4.7.2.2.代碼設(shè)計(jì)

錄入(Command1)處理(Click)

PrivateSubCommand1_Click()

Dims1AsString,s2AsString,s3AsString

OnErrorResumeNext

s1="select*from同學(xué)成果表"

s2="where學(xué)號(hào)='"&List2.Text&"'and"

s3="課程名稱(chēng)='"&List1.Text&"'"

Adodc3.RecordSource=s1&s2&s3

Adodc3.Refresh

IfAdodc3.Recordset.EOF=FalseThen

Adodc3.Recordset.Fields(2)=Val(Text1.Text)

Else

Adodc3.Recordset.MoveLast

Adodc3.Recordset.AddNew

Adodc3.Recordset.Fields(0)=List2.Text

Adodc3.Recordset.Fields(1)=List1.Text

Adodc3.Recordset.Fields(2)=Val(Text1.Text)

EndIf

Adodc3.Recordset.Update

Adodc3.Refresh

s1="select學(xué)號(hào),成果from同學(xué)成果表where課程名稱(chēng)='"&List1.Text&"'"s2="and學(xué)號(hào)in(select學(xué)號(hào)from同學(xué)基本信息表"

s3="where班級(jí)名稱(chēng)='"&DataList1.Text&"')"Adodc3.RecordSource=s1&s2&s3

Adodc3.Refresh

SetDataGrid1.DataSource=Adodc3

EndSub

●退出(Command1)處理(Click)

PrivateSubCommand2_Click()

UnloadMe

EndSub

●數(shù)據(jù)列表框(DataList1)處理(Click)

PrivateSubDataList1_Click()

Dims1AsString,s2AsString

SetDataGrid1.DataSource=Nothing

s1="select課程名稱(chēng)from班級(jí)課程表"

s2="where班級(jí)名稱(chēng)='"&DataList1.Text&"'"

Adodc2.RecordSource=s1&s2

Adodc2.Refresh

IfAdodc2.Recordset.EOF=TrueThen

MsgBox"請(qǐng)?jiān)诎嗉?jí)課程表里添加該班級(jí)的課程名稱(chēng)"ExitSub

EndIf

List1.Clear

Adodc2.Recordset.MoveFirst

DoWhileAdodc2.Recordset.EOF=False

List1.AddItemAdodc2.Recordset.Fields(0)

Adodc2.Recordset.MoveNext

Loop

s1="select學(xué)號(hào)from同學(xué)基本信息表"

s2="where班級(jí)名稱(chēng)='"&DataList1.Text&"'"

Adodc2.RecordSource=s1&s2

Adodc2.Refresh

IfAdodc2.Recordset.EOF=TrueThen

MsgBox"請(qǐng)?jiān)谕瑢W(xué)信息表里添加該班級(jí)"

ExitSub

EndIf

List2.Clear

Adodc2.Recordset.MoveFirst

DoWhileAdodc2.Recordset.EOF=False

List2.AddItemAdodc2.Recordset.Fields(0)

Adodc2.Recordset.MoveNext

Loop

EndSub

●窗體裝載處理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowDelete=True

DataGrid1.AllowAddNew=False

DataGrid1.AllowUpdate=False

EndSub

●列表框(List1)處理(Click)

PrivateSubList1_Click()

Dims1AsString,s2AsString,s3AsString

s1="select學(xué)號(hào),成果from同學(xué)成果表where課程名稱(chēng)='"&List1.Text&"'"s2="and學(xué)號(hào)in(select學(xué)號(hào)from同學(xué)基本信息表"

s3="where班級(jí)名稱(chēng)='"&DataList1.Text&"')"

Adodc3.RecordSource=s1&s2&s3

Adodc3.Refresh

SetDataGrid1.DataSource=Adodc3

EndSub

●列表框(List2)處理(Click)

PrivateSubList2_Click()

Text1.Text=""

EndSub

4.7.3成果查詢(xún)窗體

舉行同學(xué)成果的查詢(xún)

4.7.3.1.窗體設(shè)計(jì)

4.7.3.2.代碼設(shè)計(jì)

●公共定義

OptionExplicit

DimoptAsInteger

●組合框(Combo1)處理(Click)PrivateSubCombo1_Click()

Dims1AsString,s2AsString

SetDataGrid1.DataSource=Nothing

Combo2.Clear

Ifopt=0Then

s1="select課程名稱(chēng)from班級(jí)課程表where班級(jí)名稱(chēng)='"

s2=Combo1.Text&"'groupby課程名稱(chēng)"

Adodc2.RecordSource=s1&s2

Else

s1="select學(xué)號(hào)from同學(xué)基本信息表where班級(jí)名稱(chēng)='"

s2=Combo1.Text&"'"

Adodc2.RecordSource=s1&s2

EndIf

Adodc2.Refresh

DoWhileAdodc2.Recordset.EOF=False

Combo2.AddItemAdodc2.Recordset.Fields(0)

Adodc2.Recordset.MoveNext

Loop

EndSub

●組合框(Combo2)處理(Click)

PrivateSubCombo2_Click()

Dims1AsString,s2AsString,s3AsString

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論