最新VC学生成绩管理系统及源码.doc





《最新VC学生成绩管理系统及源码.doc》由会员分享,可在线阅读,更多相关《最新VC学生成绩管理系统及源码.doc(195页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVC学生成绩管理系统及源码VB学生成绩管理系统VC学生成绩管理系统1. VC操作数据库简介本章节主要介绍VC中操作数据库的一般方法,有ADO Data控件的连接、ADODB对象的使用,当然在可视化的开发系统中用控件是的方法是比较简单的,但不是很灵活,相比较ADODB对象的方法比较灵活,但使用相对麻烦;这里读者会问,那这两个又是怎么去访问到数据库的呢?其实他们是通过一些
2、接口去访问不同数据库的,而这些接口会屏蔽掉数据库访问协议和各个数据库之间的差别,这里最常用的有两种接口,一种就是ODBC、还有一种是OLE DB,下面我们介绍他们的结构:(a)数据库访问接口:(1) ODBC:ODBC其实是开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通讯的方法标准,是一个接口标准。所以它实际上是一种标准,符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只能针对关系数据库进行操作(如SQL Server,Oracle,Access,Excel等),目前所有的关系数据库都符合该标准。O
3、DBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句,他的结构图如下图1:图 1.1在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。(2) OLE DB:OLE DB:数据库链接和嵌入对象(Object Linking and Embedding DataBase)。OLE DB是微软提出的基于COM思想且面向对象的一种技术标准,目的是提供一种统一的数据访问接口访问
4、各种数据源,这里所说的数据除了标准的关系型数据库中的数据之外,还包括邮件数据、Web上的文本或图形、目录服务(Directory Services)、以及主机系统中的文件和地理数据以及自定义业务对象等。OLE DB标准的核心内容就是要求对以上这些各种各样的数据存储(Data Store)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型,他的结构图如下图2:图 1.2(b)VC中数据库访问对象:(1) ADO Data控件:ADO Data 控件使用 Microsoft ActiveX 数据对象(ADO) 来快速建立数
5、据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLEDB 规范的数据源,这里可能是对ADO的一个封装,他访问数据库的接口可以使用ODBC、也可以使用OLEDB,但OLEDB灵活,不用在系统中配置数据源,而且效率高,所以现在使用OLEDB更多点,下面程序中也是用OLEDB来介绍的,这里简单介绍一下ADODC控件的使用层次图。ADODC在VC数据库程序设计中起了一个桥梁的作用,可以方便VC中的一些控件直接和数据库关联,他的使用示意图如下: 图 1.3(2) ADODB对象ADO是ActiveX Data Objects的缩写,是一项新的数
6、据库的存取技术,他最主要包含三个对象,Connection、Recordset、Command,Connection对象:连接对象,负责通过OLEDB或ODBC建立与数据库之间的连接。Recordset对象:记录集对象,存放从数据库中得到的记录,这些可能是执行某条SQL语句的结果。Command对象:执行SQL语句返回Recordset类型的结果。基本的用法:(1) 连接数据源(2) 打开记录集对象(3) 使用记录集(4) 断开连接具体的应用后面在学生成绩录入中会介绍到。2. VC连接SQL Server数据库a) 用可视ADODC控件连接数据库,从ProjectAdd To ProjectC
7、omponents And Controls,如图将ADO、DBGird组控件选择到工具栏。(1) 设置ADODC的ConnectionString属性。选择组件控件图 2.1 (2)打开ADO的属性页,选择Control下的生成连接字符串。生成连接字符串点击打开属性页图 2.2图 2.3图 2.4(3)设置ADO Data Control的RecordSource属性。命令类型图 2.5 命令类型:adCmdText :值1,表示命令为SQL语句。adCmdTable :值2,表示命令为一表名。adCmdStoredProc:值4,表示命令是一存储过程名。adCmdUnknown :值8,表
8、示不确定命令类型。(4)此时数据源控件已连接好数据库,可以直接访问它,或者可以充当数据表格控件的数据源使用。b) 用Connection对象连接数和操作据库(1) 创建Connection对象_ConnectionPtr pConnection = NULL;pConnection.CreateInstance(_uuidof(Connection);(2) 使用Connection对象HRESULT hr;_bstr_t strCnn(Provider=SQLOLEDB;Server=microsof-cee903dcr;DataBase=XSCJ;UID=wmx;PWD=1234;);/
9、“SQLOLEDB”使用OLEDB, “microsof-cee903dcr”SQL数据库服务器名,”XSCJ”数据库名,后面是用户明和密码hr = pConnection-Open(strCnn,NULL);(3) Command对象用来执行SQL语句来操作数据库的对象,根据参数的不同可以执行存储过程_CommandPtr pCmd = NULL;/定义command 对象指针_ParameterPtr pParam = NULL;_RecordsetPtr pRs = NULL;CString SqlStr;pCmd.CreateInstance(_uuidof(Command);pCmd
10、-ActiveConnection = pConnection;/执行SQL语句SqlStr.Format(Select * from KC);pCmd-CommandText = (_bstr_t)SqlStr;pRs = pCmd-Execute(&vNULL,&vNULL,adCmdText);/返回记录集/执行存储过程SqlStr.Format(AddStuScore);pCmd-CommandText = (_bstr_t)SqlStr;pCmd-CommandType = adCmdStoredProc;/为存储过程创建输入参数pParam = pCmd-CreateParamet
11、er(XH,adVarChar,adParamInput,16);pParam-Value = _variant_t(“081101”);pCmd-Parameters-Append(pParam);/为存储过程创建输入参数pParam = pCmd-CreateParameter(KCM,adVarChar,adParamInput,16);pParam-Value = _variant_t(“计算机基础”);pCmd-Parameters-Append(pParam);/为存储过程创建输入参数pParam = pCmd-CreateParameter(CJ,adInteger,adPara
12、mInput,4);pParam-Value = _variant_t(long)80);pCmd-Parameters-Append(pParam);/为存储过程创建输入参数pParam = pCmd-CreateParameter(XF,adInteger,adParamInput,4);pParam-Value = _variant_t(long)0);pCmd-Parameters-Append(pParam);/执行存储过程pCmd-Execute(&vNULL,&vNULL,adCmdStoredProc);/关闭连接pConnection-Close();(4) Recordse
13、t对象用来操作表的更新删除等的对象_RecordsetPtr pRs = NULL;CString SqlStr;pRs.CreateInstance(_uuidof(Recordset);SqlStr.Format(select * from XS where XH = %s,”081101”);/打开记录集pRs-Open(_variant_t(SqlStr),_variant_t(IDispatch *) pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText);if(!pRs-adoEOF)pRs-PutCollect(CSS
14、J, _variant_t(DATE)”1991-2-5”);/更新记录集pRs-Update();pRs-Close();pConnection-Close();3. 学生成绩管理系统本演示系统是一个用VC实现的简单的学生成绩管理系统,使用用可视ADODC控件和ADODB对象来访问后台数据库服务器的,包含学生信息的查询、学生休息的录入修改删除、学生成绩的录入修改,下面就分别说明各模块的具体实现。4. 系统主界面创建XSCJ多文档MFC工程,会生成框架,MainFrm、XSCJDoc、XSCJView等对象,这里演示的程序比较简单,所以代码主要加在XSCJView对象里,创建两个Dialog来
15、实现学生信息修改和学生成绩修改。主界面菜单和工具条框架如下:菜单工具条图 4.1主要功能:主界面,导航作用,点击可进入操作窗口。创建过程:(1) 创建菜单: 图 4.2因为学生信息查询作为默认的界面,所以创建学生信息修改、学生成绩修改,打开VC的ClassWizad,添加菜单处理事件,这里选择映射到View对象里面。图 4.3(2) 创建工具条:学生信息修改、学生成绩修改图 4.4创建工具条,打开VC的ClassWizad,添加菜单处理事件,这里选择映射到View对象里面。图 4.5主要菜单代码:菜单Click的处理过程在CXSCJView对象里面,对应与CXSCJView.cpp文件学生信息
16、修改菜单void CXSCJView:OnMenuitem32771() / TODO: Add your command handler code hereCStuInfoModify myStuInfoWin;myStuInfoWin.DoModal();学生成绩录入菜单void CXSCJView:OnMenuitem32772() / TODO: Add your command handler code hereCStuAddScore myStuAddScoreWin;myStuAddScoreWin.DoModal();工具条Click的处理,分别对应调用菜单中的处理过程学生信息
17、修改工具条Click的处理void CXSCJView:OnButton32773() / TODO: Add your command handler code hereCStuInfoModify myStuInfoWin;myStuInfoWin.DoModal();成绩录入工具条Click的处理void CXSCJView:OnButton32774() / TODO: Add your command handler code hereCStuAddScore myStuAddScoreWin;myStuAddScoreWin.DoModal();5. 学生信息查询目的与要求:了解使
18、用控件显示用SQL语句查询到的数据库中的数据,同时了解模糊查询的基本方法。程序界面:DataGrid控件ADODC控件学生选课表 图 5.1主要功能:实现简单查询的需要,输入条件进行模糊查询,各条件之间为与的关系,在查询的结果中移动记录指针可以查看这个学生的具体选课信息创建过程:(1) 在View的主窗体IDD_XSCJ_FORM上放入两个学生信息查询的ADODC和学生选课信息的ADODC、创建两个学生信息显示的DataGrid和学生选课信息显示的DataGrid,并分别起名为IDC_STUVIEWADODC, IDC_StuKCADO, IDC_STUVIEWDATAGRID,IDC_DGK
19、C。放入IDC_StuXH学号Edit、IDC_StuXM姓名Edit和IDC_StuZYCB专业下拉列表框,为了美观IDC_StuKCADO隐藏在IDC_DGKC后面,增加IDC_StuZYCB专业下拉列表项,如图5.2。图 5.2(2) 设置IDC_STUVIEWADODC, IDC_StuKCADO的ConnectionString属性为Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=XSCJ;Data Source=microsof-c
20、ee903dcr(3) 设置IDC_STUVIEWADODC的RecordSource属性为select * from XS,CXB where XS.XB=CXB.XB(4) 设置IDC_STUVIEWDATAGRID的DataSource属性为IDC_STUVIEWADODC。(5) 设置IDC_StuKCADO的ConnectionString属性为Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=XSCJ;Data Source=micr
21、osof-cee903dcr(6) 设置IDC_StuKCADO的RecordSource属性为select * from XS,KC,XS_KCwhere XS.XH=XS_KC.XH and KC.KCH=XS_KC.KCH(7) 设置IDC_DGKC的DataSource属性为IDC_StuKCADO。(8) 使用ClassWizad对这些控件设定变量的绑定,选顶绑定的类型,Edit只要输入输出,所以简单的CString类型就可以满足,ADO则要选择CAdodc的变量类型,这样才能访问其属性和调用函数,如图5.3、5.4。图 5.3图 5.4完成的开发窗体如图:图 5.5实现过程:直接打
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 VC 学生 成绩管理系统 源码

限制150内