VB学生成绩管理系统

2026/4/25 23:03:06

end GO

创建插入学生成绩的AddStuScore存储过程,学生此门课程成绩记录如存在则修改成绩,如不存在则添加这条记录

CREATE PROCEDURE [AddStuScore] (@XH varchar(6), @KCM varchar(16),@CJ int,@XF int) AS begin

declare @KCH varchar(3)

select @KCH=KCH from KC where KCM=@KCM select * from XS_KC where XH=@XH and KCH=@KCH if @@RowCount =1

update XS_KC set CJ=@CJ,XF=@XF where XH=@XH and KCH=@KCH

else insert into XS_KC values(@XH,@KCH,@CJ,@XF) end

GO

创建XS_KC_CJ视图,用来在DataGrid中显示学生、课程、成绩的信息

CREATE VIEW [dbo].[XS_KC_CJ]

AS

SELECT dbo.XS_KC.XH, dbo.KC.KCM, dbo.XS_KC.CJ,

dbo.XS_KC.XF, dbo.XS.XM, dbo.XS.ZY

FROM dbo.KC INNER JOIN GO

创建XS_KC的INSERT,UPDATE触发器,当添加和修改成绩后,根据当前的成绩自动为该学生该课程增加学分,当成绩小于60分时,学分为0;当大于等于60分时,从该门课程表中取出当前课程的学分来更新当前学生在XS_KC表中这门课程的学分

CREATE TRIGGER CHECKXF ON XS_KC INSERT,UPDATE AS

BEGIN SET NOCOUNT ON;

update XS_KC set XF = 0 where CJ < 60

update XS_KC set XF = (select XF from KC where KCH = XS_KC.KCH) where CJ >= 60 END GO

dbo.XS_KC ON dbo.KC.KCH = dbo.XS_KC.KCH INNER JOIN dbo.XS ON dbo.XS_KC.XH = dbo.XS.XH

(2) VB中的主要代码。

General中定义的全局变量

Private SqlCon As New ADODB.Connection Private SqlRes As ADODB.Recordset

Private SqlCmd As New ADODB.Command

Form加载时打开数据库连接,并且通过执行select语句从数据库中提取课程名添加到课程下拉列表中去,执行GetStuZy存储过程,把返回的专业添加到专业下拉列表中去,在DataGrid中显示当前专业,当前课程的的学生、成绩信息,方便修改

Private Sub Form_Load()

SqlCon.Provider = \ SqlCon.Open

\ SqlCmd.ActiveConnection = SqlCon '添加课程

SqlCmd.CommandText = \ SqlCmd.CommandType = adCmdText Set SqlRes = SqlCmd.Execute StuKCM.Text = SqlRes(\ While Not SqlRes.EOF

StuKCM.AddItem (Trim(SqlRes(\ SqlRes.MoveNext Wend '添加专业

SqlCmd.CommandText = \ SqlCmd.CommandType = adCmdStoredProc Set SqlRes = SqlCmd.Execute StuZY.Text = SqlRes(\ While Not SqlRes.EOF StuZY.AddItem (SqlRes(\ SqlRes.MoveNext Wend StuZY_Click StuXH_Click

StuADO.RecordSource = \,XF

from XS_KC_CJ where KCM = '\ and ZY = '\.Text) + \ StuADO.Refresh End Sub

Form卸载时关闭数据库连接

Private Sub Form_Unload(Cancel As Integer)

SqlRes.Close

SqlCon.Close End Sub

StuADO移动记录完成的时候,在学号、姓名、成绩、学分等显示控件中显示当前学生的当前课程的成绩信息

Private Sub StuADO_MoveComplete(ByVal adReason As

ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) If Not pRecordset.EOF And Not pRecordset.BOF Then StuXH.Text = pRecordset(\ StuXM.Text = pRecordset(\ StuCJ.Text = pRecordset(\

StuXF.Text = CStr(pRecordset(\ End If

End Sub

“删除”Click事件处理,调用Command执行delete删除当前学号,当前课程名的成绩记录

Private Sub StuDel_Click()

Ret = MsgBox(\是否要删除\号学生的\

Trim(StuKCM.Text) + \课的成绩记录!\esNo, \提示\ If Ret = vbYes Then

SqlCmd.ActiveConnection = SqlCon

SqlCmd.CommandText = \

where XH='\

KCH in (select KCH from KC where KCM='\

SqlCmd.CommandType = adCmdText

SqlCmd.Execute

StuADO.RecordSource = \,XF

from XS_KC_CJ where KCM = '\

and ZY = '\.Text) + \ StuADO.Refresh

End If End Sub

“课程” 下拉列表Click事件处理,从视图中查询当前专业、当前课程的学生成绩信息,同时调用ShowScore在姓名、成绩等Edit中来显示当前学生的姓名、成绩等信息

Private Sub StuKCM_Click() Dim StXH, StKCM

'选者当前课程的学生选课信息

StuADO.RecordSource = \,XF

from XS_KC_CJ where KCM = '\

and ZY = '\.Text) + \ StuADO.Refresh

'没有学生选者该门课程

If StuADO.Recordset.RecordCount = 0 Then 'if no record then exit sub

StuXM.Text = \ StuCJ.Text = \ StuXF.Text = \ Exit Sub End If

SqlCmd.CommandText = \

SqlCmd.CommandType = adCmdStoredProc

Set StXH = SqlCmd.CreateParameter(\arChar, adParamInput, 6) SqlCmd.Parameters.Append (StXH)

Set StKCM =

SqlCmd.CreateParameter(\ SqlCmd.Parameters.Append (StKCM) SqlCmd(\ SqlCmd(\

Set SqlRes = SqlCmd.Execute StuXH.Text = SqlRes(\

If Not SqlRes.EOF Then

If SqlRes.Fields.Count = 4 Then

StuXM.Text = SqlRes(\ StuCJ.Text = SqlRes(\

StuXF.Text = CStr(SqlRes(\ End If

End If

SqlCmd.Parameters.Delete (\

SqlCmd.Parameters.Delete (\ End Sub

“更新” Click事件处理,通过调用AddStuScore,来添加当前课程,当前学生的成绩信息

Private Sub StuUpd_Click()

Dim StXH, StKCM, StCJ, StXF

If Trim(StuCJ.Text) = \

MsgBox \输入完整的信息!\提示\ Exit Sub End If

SqlCmd.CommandText = \ SqlCmd.CommandType = adCmdStoredProc '创建参数对象

Set StXH = SqlCmd.CreateParameter(\arChar, adParamInput, 6) SqlCmd.Parameters.Append (StXH)

Set StKCM =

SqlCmd.CreateParameter(\arChar, adParamInput, 16)

SqlCmd.Parameters.Append (StKCM)


VB学生成绩管理系统.doc 将本文的Word文档下载到电脑
搜索更多关于: VB学生成绩管理系统 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219