版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年鋼筋大宗采購商務協(xié)議
- 2024年庭院圍墻護欄供應及施工協(xié)議
- 文書模板-《車輛剮蹭修補合同》
- 2024年專利技術交易協(xié)議樣本
- 2024年度國內(nèi)專線物流運輸服務協(xié)議
- 2024年擔保協(xié)議責任分配指南
- 2024預包裝食品批量采購協(xié)議范本
- 地產(chǎn)開發(fā)項目2024土方工程施工協(xié)議
- 2024短期項目派遣勞動協(xié)議
- 2024會員資格變更法律協(xié)議樣本
- 處理不同類型客戶的技巧與策略
- 《凸透鏡成像的規(guī)律》課件
- 倉庫管理中的客戶服務和溝通技巧
- 2024年給藥錯誤護理不良事件分析持續(xù)改進
- 電力行業(yè)網(wǎng)絡安全
- 《北京大學介紹》課件
- 提升員工營銷能力的企業(yè)教育培訓
- 學院(部)國際交流與合作工作考核指標體系與評分標準
- 大學生社團對大學生的影響的社會調(diào)查報告
- 胱氨酸純度的測定(最終版)
- 表-D完整版本.0.2-作業(yè)架施工驗收記錄表
評論
0/150
提交評論