数据库课程设计实例.docx

上传人:b****7 文档编号:10582748 上传时间:2023-02-21 格式:DOCX 页数:36 大小:326.55KB
下载 相关 举报
数据库课程设计实例.docx_第1页
第1页 / 共36页
数据库课程设计实例.docx_第2页
第2页 / 共36页
数据库课程设计实例.docx_第3页
第3页 / 共36页
数据库课程设计实例.docx_第4页
第4页 / 共36页
数据库课程设计实例.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

数据库课程设计实例.docx

《数据库课程设计实例.docx》由会员分享,可在线阅读,更多相关《数据库课程设计实例.docx(36页珍藏版)》请在冰豆网上搜索。

数据库课程设计实例.docx

数据库课程设计实例

学生成绩管理系统设计说明

(本设计以VB为前台对数据库进行操作)

1.需求

本系统主要用于学校的学生成绩管理。

1.用户身份的验证

2.学生基本信息管理

3.按班级选课

4.学生成绩的管理

2.总体设计

本系统包括:

标准模块、系统登录模块、主界面模块、系统管理模块、学生基本信息管理模块、选课模块、成绩管理模块。

1.标准模块

定义公共变量和过程。

2.系统登录模块

进行用户身份的验证。

3.主界面模块

作为系统总界面,供用户进行各项选择。

4.系统管理模块

用户管理及系统退出。

5.学生基本信息管理模块

学生基本信息的录入和查询。

6.选课模块

为班级选课。

7.成绩管理模块

进行学生成绩的录入及查询。

3.数据库设计及配置

3.1.数据库设计

该数据库由以下几个表组成:

用户表、学生基本信息表、班级课程表、学生成绩表。

3.1.1用户表

包括用户名、密码、是否是超级用户。

字段名称

数据类型

用户名

文本

密码

文本

是否为超级用户

布尔

3.1.2学生基本信息表

包括学号、姓名、电话、地址、班级名称、性别。

字段名称

数据类型

学号

文本

姓名

文本

电话

文本

地址

文本

班级名称

文本

性别

文本

3.1.3班级课程表

包括班级名称、课程名称。

字段名称

数据类型

班级名称

文本

课程名称

文本

3.1.4学生成绩表

包括学号、课程名称、成绩。

字段名称

数据类型

学号

文本

课程名称

文本

成绩

数值(单精度浮点型)

3.2.数据库中各表关系

学生基本信息表与班级课程表通过班级名称字段相关联,学生基本信息表与学生成绩表通过学号字段相关联,班级课程表与学生成绩表通过课程名称字段相关联。

4.系统实现

4.1.标准模块(公有模块)

4.1.1标准模块中的数据定义

用于定义全局变量及过程。

本系统定义了当前用户名及用户类型。

序号

变量名

数据类型

1

UserName

String

2

UserType

Boolean

4.1.2标准模块代码设计

OptionExplicit

PublicUserNameAsString

PublicUserTypeAsBoolean

4.2.系统登录模块

4.2.1说明

进行用户身份的验证。

特定的用户才能登录到系统。

4.2.2

窗体设计

系统登录窗体的窗体类型为Form,界面如下图所示:

 

主要控件属性如下表所示:

对象名

类型

属性

说明

FrmLogin

窗体

Caption

学生成绩管理系统登录

学生成绩管理系统登录窗体

Label1

标签

Caption

用户名:

Label2

标签

Caption

密码:

Text1

文本框

Text

用于输入用户名

Text2

文本框

Text

用于输入密码

cmdOk

命令按钮

Caption

确定

确定当前输入的用户名和密码,进行用户登录。

登录成功后进入主界面。

如果三次输入错误的用户和密码,程序将自动退出

cmdCancel

命令按钮

Caption

取消

取消操作,退出程序

Adodc1

Adodc

ConnectionString

连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。

4.2.3代码设计

●公共定义

OptionExplicit

DimCount1AsInteger

●窗体装载处理程序(Load)

PrivateSubForm_Load()

Count1=0‘错误次数清零

EndSub

●取消按钮(cmdCancel)处理程序(Click)

PrivateSubcmdCancel_Click()

UnloadMe‘系统退出

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‘判断查询结果

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‘错误次数累计

IfCount1>=3Then

MsgBox"错误超过3次,系统退出"

UnloadMe

EndIf

EndSub

4.3.主界面模块

4.3.1说明

作为系统总界面,供用户进行各项选择。

4.3.2窗体设计

主界面模块窗体类型为MDIForm,界面如下图所示。

4.3.3代码设计

●窗体变为活动窗体处理程序(MDIForm-Activate)

PrivateSubMDIForm_Activate()

WindowState=2‘窗体最大化状态

StatusBar1.Panels

(1).Text="用户名:

"&UserName‘在状态栏显示用户名、用户类型

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‘在状态栏中显示当前时间

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‘系统退出

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说明

创建、删除用户。

设定用户权限。

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="添加"Then

Command3.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

学生基本信息维护窗体

4.5.2.1.窗体设计

 

主要控件属性如下表所示:

对象名

类型

属性

说明

Form21

窗体

Caption

学生基本信息维护

学生基本信息维护窗体

Adodc1

Adodc

ConnectionString

连接所使用的数据库,ConnectionString、RecordSource属性都在界面中设置。

作为DataGrid1的数据源

RecordSource

CommandType

2-adCmdTable

学生基本信息表

DataGrid1

DataGrid

DataSource

Adodc1

用于显示学生基本信息表内容

Command1

命令按钮

Caption

退出

4.5.2.2.代码设计

●窗体装载处理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowAddNew=True

DataGrid1.AllowDelete=True

DataGrid1.AllowUpdate=True

EndSub

●退出(Command1)处理(Click)

PrivateSubCommand1_Click()

UnloadMe

EndSub

4.5.3学生基本信息查询窗体

4.5.3.1.窗体设计

 

主要控件属性如下表所示:

对象名

类型

属性

说明

Form22

窗体

Caption

学生基本信息查询

学生基本信息查询窗体

Adodc1

Adodc

ConnectionString

连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。

Adodc2

Adodc

ConnectionString

连接所使用的数据库,ConnectionString、RecordSource属性都在界面设置。

作为DataList1的数据源

RecordSource

CommandType

1-adCmdText

SELECTDISTINCT班级名称FROM学生基本信息表

Check1

复选按钮

Caption

姓名

选择查询条件

Check2

复选按钮

Caption

学号

Check3

复选按钮

Caption

班级

Text1

文本框

用于输入姓名

Text2

文本框

用于输入学号

DataList1

DataList

RowSource

Adodc2

用于选择输入班级名称

ListField

班级名称

DataSource

Adodc2

DataListField

班级名称

DataGrid1

DataGrid

显示查询得到的学生基本信息

Command1

命令按钮

Caption

查询

Command2

命令按钮

Caption

退出

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学生基本信息表"&s1

Adodc1.Refresh

SetDataGrid1.DataSource=Adodc1

EndSub

●退出(Command2)处理(Click)

PrivateSubCommand2_Click()

UnloadMe

EndSub

●窗体装载处理程序(Load)

PrivateSubForm_Load()

DataGrid1.AllowAddNew=False

DataGrid1.AllowDelete=False

DataGrid1.AllowUpdate=False

EndSub

4.6.选课模块

4.6.1说明

该模块为一个班级选课。

4.6.2课程添加窗体

用于课程的添加和查询

4.6.2.1.窗体设计

主要控件属性如下表所示:

对象名

类型

属性

说明

Form31

窗体

Caption

课程添加

课程添加窗体

Adodc1

Adodc

ConnectionString

连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。

Label1

标签

Caption

班级名称

Label2

标签

Caption

课程名称

Text1

文本框

用于输入班级名称

Text2

文本框

用于输入课程名称

DataGrid1

DataGrid

显示该班级课程

Command1

命令按钮

Caption

添加

Command2

命令按钮

Caption

查询

Command3

命令按钮

Caption

退出

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.DataSour

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1