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

下載本文檔

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

文檔簡介

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

同學成果管理系統(tǒng)設計

(本設計以VB為前臺對數(shù)據(jù)庫舉行操作)

1.需求

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

1.用戶身份的驗證

2.同學基本信息管理

3.按班級選課

4.同學成果的管理

2.總體設計

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

1.標準模塊

定義公共變量和過程。

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

舉行用戶身份的驗證。

3.主界面模塊

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

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

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

5.同學基本信息管理模塊

同學基本信息的錄入和查詢。

6.選課模塊

為班級選課。

7.成果管理模塊

舉行同學成果的錄入及查詢。

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

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

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

用戶表、同學基本信息表、班級課程表、同學成果表。

3.1.1用戶表

3.1.2同學基本信息表

包括學號、姓名、電話、地址、班級名稱、性別。

3.1.3班級課程表

3.1.4同學成果表

3.2.數(shù)據(jù)庫中各表關系

同學基本信息表與班級課程表通過班級名稱字段相關聯(lián),同學基本信息表與同學成果表通過學號字段相關聯(lián),班級課程表與同學成果表通過課程名稱字段相關聯(lián)。

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

4.1.標準模塊(公有模塊)

4.1.1標準模塊中的數(shù)據(jù)定義

4.1.2標準模塊代碼設計

OptionExplicit

PublicUserNameAsString

PublicUserTypeAsBoolean

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

4.2.1說明

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

4.2.2窗體設計

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

4.2.3代碼設計

●公共定義

OptionExplicit

DimCount1AsInteger

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

PrivateSubForm_Load()

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

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

PrivateSubcmdCancel_Click()

UnloadMe‘系統(tǒng)退出

EndSub

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

PrivateSubcmdOk_Click()

Dims1AsString

DimPasswordAsString

OnErrorResumeNext

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

MsgBox("用戶名不能為空,請重新輸入")

Text1.SetFocus

ExitSub

EndIf

‘按輸入的用戶名舉行查詢

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

Adodc1.RecordSource=s1

Adodc1.Refresh

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

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

UserType=Adodc1.Recordset.Fields(2)

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

UnloadMe‘密碼正確,關閉當前窗體

FrmMain.Show‘顯示主界面窗體

ExitSub

Else

MsgBox("密碼錯誤,請重新輸入")‘密碼錯誤,提醒

Text2.SetFocus

Text2.Text=""

EndIf

Else‘沒有該用戶名,即用戶名錯誤MsgBox"用戶名錯誤,請重新輸入"

Text1.SetFocus

Text1.Text=""

Text2.Text=""

EndIf

Count1=Count1+1‘錯誤次數(shù)累計

IfCount1>=3Then

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

UnloadMe

EndIf

EndSub

4.3.主界面模塊

4.3.1說明

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

4.3.2窗體設計

主界面模塊窗體類型為MDIForm,界面如下圖所示。

4.3.3代碼設計

●窗體變?yōu)榛顒哟绑w處理程序(MDIForm-Activate)

PrivateSubMDIForm_Activate()

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

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

StatusBar1.Panels(2).Text="用戶類型:管理員"

Else

StatusBar1.Panels(2).Text="用戶類型:一般用戶"

EndIf

IfUserType=FalseThen‘對一般用戶設某些菜單項不行用AA1.Enabled=False

BB1.Enabled=False

CC.Enabled=False

DD1.Enabled=False

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

Toolbar1.Buttons(6).Enabled=False

Toolbar1.Buttons(7).Enabled=False

Toolbar1.Buttons(9).Enabled=False

EndIf

EndSub

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

PrivateSubTimer1_Timer()

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

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

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Index

Case1

Form11.Show(1)‘用戶管理

Case3

Form21.Show(1)‘同學基本信息維護

Case4

Form22.Show(1)‘同學基本信息查詢

Case6

Form31.Show(1)‘課程添加

Case7

Form32.Show(1)‘課程刪除

Case9

Form41.Show(1)‘同學成果維護

Case10

Form42.Show(1)‘同學成果查詢Case12

UnloadMe‘系統(tǒng)退出

EndSelect

EndSub

●“用戶管理”菜單項處理程序(AA1-Click)

PrivateSubAA1_Click()

Form11.Show(1)

EndSub

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

PrivateSubAA3_Click()

UnloadMe

EndSub

●“同學基本信息維護”菜單項處理程序(BB1-click)

PrivateSubBB1_Click()

Form21.Show(1)

EndSub

●“同學基本信息查詢”菜單項處理程序(BB2-click)

PrivateSubBB2_Click()

Form22.Show(1)

EndSub

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

PrivateSubCC1_Click()

Form31.Show(1)

EndSub

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

PrivateSubCC2_Click()

Form32.Show(1)

EndSub

●“同學成果維護”菜單項處理程序(DD1-click)

PrivateSubDD1_Click()

Form41.Show(1)

EndSub

●“同學成果查詢”菜單項處理程序(DD2-click)

PrivateSubDD2_Click()

Form42.Show(1)

EndSub

4.4.用戶管理模塊

4.4.1說明

創(chuàng)建、刪除用戶。設定用戶權限。

4.4.2窗體設計

4.4.3代碼設計

●上一條(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("用戶名不能為空")

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.同學基本信息管理模塊

4.5.1說明

同學基本信息的添加、刪除、查詢。

該模塊有兩個窗體:同學基本信息維護窗體和同學基本信息查詢窗體

4.5.2.1.窗體設計

4.5.2.2.代碼設計

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

PrivateSubForm_Load()

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

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

UnloadMe

EndSub

4.5.3.1.窗體設計

4.5.3.2.代碼設計

●查詢(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&"學號='"&Text2.Text&"'"

EndIf

EndIf

IfCheck3.Value=1Then

IfDataList1.Text""Then

Ifs1""Then

s1=s1&"and"

EndIf

s1=s1&"班級名稱='"&DataList1.Text&"'"

EndIf

EndIf

Ifs1""Then

s1="where"&s1

EndIf

Adodc1.RecordSource="select*from同學基本信息表"&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說明

該模塊為一個班級選課。

4.6.2課程添加窗體

用于課程的添加和查詢

4.6.2.1.窗體設計

4.6.2.2.代碼設計

●添加(Command1)處理(Click)

PrivateSubCommand1_Click()

Dims1AsString,s2AsString

OnErrorResumeNext

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

MsgBox("輸入不能為空")

ExitSub

EndIf

s1="select*from班級課程表where班級名稱='"

s2=Text1.Text&"'and課程名稱='"&Text2.Text&"'"

Adodc1.RecordSource=s1&s2

Adodc1.Refresh

IfAdodc1.Recordset.EOF=FalseThen

Text1.SetFocus

MsgBox"該記錄已存在,請重新輸入",,"警告"

ExitSub

EndIf

s1="select*from班級課程表"

Adodc1.RecordSource=s1

Adodc1.Refresh

Adodc1.Recordset.MoveLast

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields("班級名稱")=Text1.Text

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

Adodc1.Recordset.Update

Adodc1.Refresh

s1="select課程名稱from班級課程表where班級名稱='"&Text1.Text&"'"Adodc1.RecordSource=s1

Adodc1.Refresh

SetDataGrid1.DataSource=Adodc1.Recordset

Text2.SetFocus

Text2.Text=""

ExitSub

EndSub

●查詢(Command2)處理(Click)

PrivateSubCommand2_Click()

Dims1AsString

s1="select課程名稱from班級課程表where班級名稱='"&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.窗體設計

4.6.3.2.代碼設計

●退出(Command1)處理(Click)

PrivateSubCommand1_Click()

UnloadMe

EndSub

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

PrivateSubDataList1_Click()

Dims1AsString

s1="select*from班級課程表where班級名稱='"&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說明

舉行同學成果的錄入及查詢。

4.7.2成果錄入窗體

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

4.7.2.1.窗體設計

4.7.2.2.代碼設計

錄入(Command1)處理(Click)

PrivateSubCommand1_Click()

Dims1AsString,s2AsString,s3AsString

OnErrorResumeNext

s1="select*from同學成果表"

s2="where學號='"&List2.Text&"'and"

s3="課程名稱='"&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學號,成果from同學成果表where課程名稱='"&List1.Text&"'"s2="and學號in(select學號from同學基本信息表"

s3="where班級名稱='"&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課程名稱from班級課程表"

s2="where班級名稱='"&DataList1.Text&"'"

Adodc2.RecordSource=s1&s2

Adodc2.Refresh

IfAdodc2.Recordset.EOF=TrueThen

MsgBox"請在班級課程表里添加該班級的課程名稱"ExitSub

EndIf

List1.Clear

Adodc2.Recordset.MoveFirst

DoWhileAdodc2.Recordset.EOF=False

List1.AddItemAdodc2.Recordset.Fields(0)

Adodc2.Recordset.MoveNext

Loop

s1="select學號from同學基本信息表"

s2="where班級名稱='"&DataList1.Text&"'"

Adodc2.RecordSource=s1&s2

Adodc2.Refresh

IfAdodc2.Recordset.EOF=TrueThen

MsgBox"請在同學信息表里添加該班級"

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學號,成果from同學成果表where課程名稱='"&List1.Text&"'"s2="and學號in(select學號from同學基本信息表"

s3="where班級名稱='"&DataList1.Text&"')"

Adodc3.RecordSource=s1&s2&s3

Adodc3.Refresh

SetDataGrid1.DataSource=Adodc3

EndSub

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

PrivateSubList2_Click()

Text1.Text=""

EndSub

4.7.3成果查詢窗體

舉行同學成果的查詢

4.7.3.1.窗體設計

4.7.3.2.代碼設計

●公共定義

OptionExplicit

DimoptAsInteger

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

Dims1AsString,s2AsString

SetDataGrid1.DataSource=Nothing

Combo2.Clear

Ifopt=0Then

s1="select課程名稱from班級課程表where班級名稱='"

s2=Combo1.Text&"'groupby課程名稱"

Adodc2.RecordSource=s1&s2

Else

s1="select學號from同學基本信息表where班級名稱='"

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

評論

0/150

提交評論