VB学生成绩管理系统(1).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《VB学生成绩管理系统(1).pdf》由会员分享,可在线阅读,更多相关《VB学生成绩管理系统(1).pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 VB 学生成绩管理系统 1.VB 操作数据库简介 本章节主要介绍 VB 中操作数据库的一般方法,有 ADO Data 控件的连接、ADODB 对象的使用,当然在可视化的开发系统中用控件是的方法是比 较简单的,但不是很灵 活,相比较 ADODB 对象的方法比较灵活,但使用相对麻烦;这里读者 会问,那这两 个又是怎么去访问到数据库的呢?其实他们是通过一些接口去 访问不同数据库的,而 这些接口会屏蔽掉数据库访问协议和各个数据库之间的差别,这里最常用的有两种接 口,一种就是 ODBC、还有一种是 OLE DB,下面我们介绍他们的结构:(a)数据库访问接口:(1)ODBC:ODBC 其实是开放式数据库
2、互连(Open Database Connectivity),是 微软公 司 推出的一种实现应用程序和关系数据库之间通讯的方法标准,是一个接口标准。所 以它实际上是一种标准,符合标准的数据库就可以通过 SQL 语言编写的命令对数 据库进行操作,但只能针对关系数据库进行操作(如 SQL Server,Oracle,Access,Excel 等),目前所有的关系数据库都符合该标准。ODBC 本质上是一组数据库访 问 API(应用程序编程接口),由 一组函数调用组成,核心是 SQL 语句,他的结 构 图如下图 1:图 1.1 在具体操作时,首先必须用 ODBC 管理器注册一个数据源,管理器根据数据源
3、 提 供的数据库位置、数据库类型及 ODBC 驱动程序等信息,建立起 ODBC 与具体 数据库的联系。这样,只要应用程序将数据源名提供给 ODBC,ODBC 就能建 立 起与相应数据库的连接。(2)OLE DB:OLE DB:数据库链接和嵌入对象(Object Linking and Embedding DataBase)。OLE DB 是微软提出的基于 COM 思想且面向对象的一种技术标准,目的是提供一种统一的数据访问接口访问各种数据源,这里所 说的数据除了标 准 的关系型数据库中的数据之外,还包括邮件数据、Web 上的文本或图形、目录服 务(Directory Services)、以及主机
4、系统中的文件和地理数据以及自定义业务对 象等。OLE DB 标准的核心内容就是要求对以上这些各种各样的数据存储(Data Store)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样 的方法访问各种数据,而不用考虑数据的具体存储地点、格式 或类型,他的结构 图如下图 2:图 1.2(b)VB 中数据库访问对象:(1)ADO Data 控件:ADO Data 控件使用 Microsoft ActiveX 数据对象(ADO)来快速建立数据绑 定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控 件。数据提供者可以是任何符合 OLEDB 规范的数据源,这里可能是
5、对 ADO 的一 个封装,他访问数据库的接口可以使用 ODBC、也可以使用 OLEDB,但 OLEDB 灵活,不用在系统中配置数据源,而且效率高,所以现在使用 OLEDB 更多点,下 面程序中也是用 OLEDB 来介绍的,下面简单介绍一下 ADODC 控件的使用层次 图。ADODC 在 VB 数据库程序设计中起了一个桥梁的作用,可 以方便 VB 中的一些 控 件直接和数据库关联,他的使用示意图如下:图 1.3(2)ADODB 对象 ADO 是 ActiveX Data Objects 的缩写,是一项新的数据库的存取技术,他最主 要包含三个对象,Connection、Recordset、Comm
6、and,Connection 对象:连接对象,负责通过 OLEDB 或 ODBC 建立与数据库之间的连 接。Recordset 对象:记录集对象,存放从数据库中得到的记录,这些可能是执行某条 SQL 语句的结果。Command 对象:执行 SQL 语句返回 Recordset 类型的结果。基本的用法:(1)连接数据源 (2)打开记录集对象 (3)使用记录集 (4)断开连接 具体的应用后面在学生成绩录入中会介绍到。2.VB 连接 SQL Server 数据库 a)用可视 ADODC 控件连接数据库,如图将控件选择到工具栏。(1)设置 ADODC 的 ConnectionString 属性。选择控
7、件 选择控件 图 2.1 点击打开 属性页 图 2.2(2)生成连接字符串。点击数据 连接属性 页 图 2.3 图 2.4(3)设置 ADODC 的 RecordSource 属性。命令类型 图 2.5 命令类型:adCmdText:值 1,表示命令为 SQL 语句。adCmdTable:值 2,表示命令为一表名。b)adCmdStoredProc:值 4,表示命令是一存储过程名。adCmdUnknown:值 8,表示不确定命令类型。(4)此时数据源控件已连接好数据库,可以直接访问它,或者可以充当数据表格 控件的数据源使用。用 ADODB.CONNECTION 对象连接数据库(1)创建 ADO
8、DB.CONNECTION 对象 Private SqlCon As New ADODB.Connection SqlCon.Provider=SQLOLEDB SqlCon.Open Server=microsof-cee903dcr;DataBase=XSCJ;UID=wmx;PWD=1234;(2)使用 ADODB.CONNECTION 对象 Private SqlCmd As New ADODB.Command 指定 Command 对象所使用的连接 SqlCmd.ActiveConnection=SqlCon SqlCmd.CommandText =select*from XS 执行
9、命令 Set SqlRes=SqlCmd.Execute 3.学生成绩管理系统 本演示系统是一个用 VB 实现的简单的学生成绩管理系统,使用用可视 ADODC 控件和 ADODB 对象来访问后台数据库服务器的,包含学生信息的查询、学生休息的 录入修改删除、学生成绩的录入修改,下面就分别说明各模块 的具体实现。4.系统主界面 菜单 工具条 图 4.1 主要功能:主界面,导航作用,点击可进入操作窗口。创建过程:(1)创建菜单:图 4.2 分别起名为:学生信息查询(msStuSearch)、学生信息修改(msStuInfo)、学生成绩修改(msStuScore)、退 出系统(msQuitSys)(2
10、)创建工具条:学生信息查询、学生信息修改、学生成绩修改 退出系统 图 4.3 创建工具条,创建 ImageList 控件,导入图标,与菜单关联;退 出系统、学生信息查询、学生信息修改、学生成绩修改的 index 分别为 3、6,7,8。主要代码:菜单 Click 的处理过程 退出系统菜单 Private Sub msQuitSys_Click()End End Sub 学生信息修改菜单 Private Sub msStuInfo_Click()AddStu.Show End Sub 学生成绩录入菜单 Private Sub msStuScore_Click()AddStuScore.Show
11、End Sub 学生信息查询菜单 Private Sub msStuSearch_Click()StuSearch.Show 工具条 Click 的处理,分别对应调用菜单中的处理过程 5.学生信息查询 目的与要求:了解使用控件怎么去显示数据库中的数据,同时了解查询的基本方法。程序界面:DataGrid 控件 学生选 课表 ADODC 控件 End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)学生信息查询图标 If Button.Index=6 Then msStuSearch_Click End
12、 If 学生信息修改图标 If Button.Index=7 Then msStuInfo_Click End If 学生成绩修改图标 If Button.Index=8 Then msStuScore_Click End If 退出系统图标 If Button.Index=3 Then msQuitSys_Click End If End Sub 图 5.1 主要功能:可以满足简单查询的需要,什么条件 也不输则分页显示所有记录,可以 输入条件进行简单的模糊查询,各条件之间为与的关系,在查 询的结果 中移动记录指针可以查看这个学生的具体选课信息 创建过程:(1)在窗体上放入两个学生信息查询的
13、ADODC 和学生选课信息的 ADODC、创建两个学生信息显示的 DataGrid 和学生选课信息显示的 DataGrid,并 分别起名为 StuADO,StuKCADO,StuDG,StuKCDG。放入学号 Edit、姓 名 Edit 和专业下拉列表框,为了美观 StuKCADO 隐藏在 StuKCDG 这个后 面。(2)设置 StuADO 的 ConnectionString 属性为 Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=XSCJ
14、;Data Source=microsof-cee903dcr(3)设置 StuADO 的 RecordSource 属性为 select*from XS,CXB where XS.XB=CXB.XB(4)设置 StuDG 的 DataSource 属性为 StuADO。(5)设置 StuKCADO 的 ConnectionString 属性为 Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=XSCJ;Data Source=microsof-
15、cee903dcr(6)设置 StuKCADO 的 RecordSource 属性为 select*from XS,KC,XS_KC where XS.XH=XS_KC.XH and KC.KCH=XS_KC.KCH (7)设置 StuKCDG 的 DataSource 属性为 StuKCADO。实现过程:直接打开时由于控件属性的设置,所 以显示所有记录,当输入查询条件 时点击查询按钮则调用 MakeSqlStr 函数产生查询字符串,然后重新设置 控件的属性,打开控件显示查询结果集。当专业改变时调用 StuZY_Click 函数来分别显示所选的专业学生记录,当查询结果学生信息记 录集中移 动记
16、录指针时,可以在下面的选课表中看到学生选课的信息。主要代码:根据学号、姓名的输入信息和专业的选择生成模糊查询的 SQL 字符串 Dim SqlStr As String 保存查询字符串的 Public Sub MakeSqlStr()产生查询字符串的 SqlStr=If Trim(StuXH)Then SqlStr=and XH like%+Trim(StuXH.Text)+%End If If Trim(StuXM)Then SqlStr=SqlStr+and XM like%+Trim(StuXM.Text)+%End If If Trim(StuZY)所有专业 Then SqlStr=S
17、qlStr+and ZY=+Trim(StuZY.Text)+“专业”列表 Click 事件处理,显示选择当前专 业,并且符合学号、姓名查询条件的学生的 信息 “查询”Click 事件处理,用生成的模糊查询的 SQL 字符串,来刷新 StuADO,并显示到 关联的 DataGrid 中 学生信息显示的 DataGrid 的 Click 事件处理,以当前学生信息的学号作为查询条件,从 XS_KC 表中查找当前学生的选课记录,并显示到 学生课程显示的 StuKCDG 中 注:为了方便控件显示学生性别,这里建立了一个表 CXB(XB bit,XBM varchar(4))存放 数据 1,男;0,女,
18、这样把要显示的表与其连接便可 以显示中文的性别,如有类似情 况可参照此方法。6.学生信息修改 目的与要求:了解对数据库操作的基本方法(增、删、改)。程序界 面:End If End Sub Private Sub StuZY_Click()当专业改变时从新从数据库中提取数据 MakeSqlStr StuADO.RecordSource =select*from XS,CXB where XS.XB=CXB.XB _&SqlStr+and ZY=+Trim(StuZY.Text)+StuADO.Refresh End Sub Private Sub StuSch_Click()点击查询按钮从数据
19、库中提取数据 MakeSqlStr StuADO.RecordSource =select*from XS,CXB where XS.XB=CXB.XB _&SqlStr StuADO.Refresh End Sub Private Sub StuDG_Click()单击 DataGrid 中学生记录在下面显示学生课程成绩 StuKCADO.RecordSource =select*from XS,KC,XS_KC _&Where XS.XH=XS_KC.XH And KC.KCH=XS_KC.KCH _&and XS.XH=+StuADO.Recordset(XH)+StuKCADO.Ref
20、resh End Sub 图 6.1 主要功能:用户可以点击下面的表格,用户资料 便反映到上面的控件中去,这时可以 修改控件中的信息,点击更新实现修改。如输入一个新的学号 点击更新实 现记录的添加当选中当前记录点删除时则可以删除此学生记录,双击照片 可以选择学生照片,用于更新学生照片信息。创建过程:(1)在窗体上放入 ADODC、DataGrid 并起名为 StuADO,StuDG。(2)设置 StuADO 的 ConnectionString 属性为 Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=Fals
21、e;User ID=sa;Initial Catalog=XSCJ;Data Source=microsof-cee903dcr(3)置 StuADO 的 RecordSource 属性为 select*from XS,CXB where XS.XB=CXB.XB(4)置 StuDG 的 DataSource 属性为 StuADO。(5)在窗体上放入 Image 控件并起名为 StuPic,用来显示学生照片,选择 Image 控件的 DataSource 属性为 StuADO,设置 DataField 属性为 ZP,这就 完成了 Image 控件和数据库的绑定,记录集移动时 Image 里面会
22、显示当前 学生的照片。(6)并在窗体上放入如图所需控件。实现过程:当点击 DataGrid 中的记录时记录集游标也跟着移 动,在 StuADO_MoveComplete 事件中取出本条记录显示在上面的控件中,我们 可以在控件中修改学生信息,双击选择学生照片,按更新调用 StuUpd_Click 更新到数据库中,当输入新的学生记录时按更新调用 StuUpd_Click 添加到数据库中,也可以按删除调用 StuDel_Click 函数删除 此记录,系统会调用 CheckXs 触发器来保持数据的参照完整性。主要代码:General 中定义的全局变量 Form 加载时打开数据库连接 Form 卸载时关
23、闭数据库连接 学生信息记录集记录指针移动完成事件,当点击 StuADO 控件记录移动图标时产生,在这 个过程中取出当前记录中的学生信息,更新到学号、姓名等显 示控件中去,实现显示和 StuADO 控件记录移动连动 “删除”Click 事件处理,从 StuADO 记录集中取出当前记录的学号,然后通过 commad 对 象执行 delete 语句来删除当前的学生记录,delete 语句的调用会引起 CheckXs 触发器的动 作 Private FileName As String Private SqlCon As New ADODB.Connection Private SqlRes As N
24、ew ADODB.Recordset Private SqlCmd As New ADODB.Command Private Sub Form_Load()SqlCon.Provider=SQLOLEDB SqlCon.Open Server=microsof-cee903dcr;DataBase=XSCJ;UID=wmx;PWD=1234;End Sub Private Sub Form_Unload(Cancel As Integer)SqlCon.Close End Sub Private Sub StuADO_MoveComplete(ByVal adReason As ADODB.E
25、ventReasonEnum,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(XH)StuXM.Text=pRecordset(XM)StuCSSJ.Text=pRecordset(CSSJ)StuZY.Text=pRecordset(ZY)StuZXF.Text =pRecordset(ZXF)StuB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 学生 成绩管理系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内