VC学生成绩管理系统及源码.docx

上传人:b****1 文档编号:2441017 上传时间:2022-10-29 格式:DOCX 页数:57 大小:507.83KB
下载 相关 举报
VC学生成绩管理系统及源码.docx_第1页
第1页 / 共57页
VC学生成绩管理系统及源码.docx_第2页
第2页 / 共57页
VC学生成绩管理系统及源码.docx_第3页
第3页 / 共57页
VC学生成绩管理系统及源码.docx_第4页
第4页 / 共57页
VC学生成绩管理系统及源码.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

VC学生成绩管理系统及源码.docx

《VC学生成绩管理系统及源码.docx》由会员分享,可在线阅读,更多相关《VC学生成绩管理系统及源码.docx(57页珍藏版)》请在冰豆网上搜索。

VC学生成绩管理系统及源码.docx

VC学生成绩管理系统及源码

VC学生成绩管理系统

1.VC操作数据库简介

本章节主要介绍VC中操作数据库的一般方法,有ADOData控件的连接、ADODB

对象的使用,当然在可视化的开发系统中用控件是的方法是比较简单的,但不是很灵活,相比较ADODB对象的方法比较灵活,但使用相对麻烦;这里读者会问,那这两个又是怎么去访问到数据库的呢?

其实他们是通过一些接口去访问不同数据库的,而这些接口会屏蔽掉数据库访问协议和各个数据库之间的差别,这里最常用的有两种接口,一种就是ODBC、还有一种是OLEDB,下面我们介绍他们的结构:

(a)数据库访问接口:

(1)ODBC:

ODBC其实是开放式数据库互连(OpenDatabaseConnectivity),是微软公司

推出的一种实现应用程序和关系数据库之间通讯的方法标准,是一个接口标准。

以它实际上是一种标准,符合标准的数据库就可以通过SQL语言编写的命令对数

据库进行操作,但只能针对关系数据库进行操作(如SQLServer,Oracle,Access,

Excel等),目前所有的关系数据库都符合该标准。

ODBC本质上是一组数据库访

问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句,他的结构

图如下图1:

图1.1

在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提

供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体

数据库的联系。

这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立

起与相应数据库的连接。

(2)OLEDB:

OLEDB:

数据库链接和嵌入对象(ObjectLinkingandEmbedding

DataBase)。

OLEDB是微软提出的基于COM思想且面向对象的一种技术标准,

目的是提供一种统一的数据访问接口访问各种数据源,这里所说的"数据"除了标准

的关系型数据库中的数据之外,还包括邮件数据、Web上的文本或图形、目录服

务(DirectoryServices)、以及主机系统中的文件和地理数据以及自定义业务对

象等。

OLEDB标准的核心内容就是要求对以上这些各种各样的数据存储(Data

Store)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样

的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型,他的结构

图如下图2:

图1.2

(b)VC中数据库访问对象:

(1)ADOData控件:

ADOData控件使用MicrosoftActiveX数据对象(ADO)来快速建立数据绑

定的控件和数据提供者之间的连接。

数据绑定控件是任何具有“数据源”属性的控

件。

数据提供者可以是任何符合OLEDB规范的数据源,这里可能是对ADO的一

个封装,他访问数据库的接口可以使用ODBC、也可以使用OLEDB,但OLEDB

灵活,不用在系统中配置数据源,而且效率高,所以现在使用OLEDB更多点,下

面程序中也是用OLEDB来介绍的,这里简单介绍一下ADODC控件的使用层次图。

ADODC在VC数据库程序设计中起了一个桥梁的作用,可以方便VC中的一些控

件直接和数据库关联,他的使用示意图如下:

图1.3

(2)ADODB对象

ADO是ActiveXDataObjects的缩写,是一项新的数据库的存取技术,他最主要包含三个对象,Connection、Recordset、Command,

Connection对象:

连接对象,负责通过OLEDB或ODBC建立与数据库之间的连接。

Recordset对象:

记录集对象,存放从数据库中得到的记录,这些可能是执行某条

SQL语句的结果。

Command对象:

执行SQL语句返回Recordset类型的结果。

基本的用法:

(1)连接数据源

  

(2)打开记录集对象

  (3)使用记录集

  (4)断开连接

具体的应用后面在学生成绩录入中会介绍到。

 

2.VC连接SQLServer数据库

a)用可视ADODC控件连接数据库,从ProjectAddToProjectComponentsAndControls,如图将ADO、DBGird组控件选择到工具栏。

(1)设置ADODC的ConnectionString属性。

图2.1

(2)打开ADO的属性页,选择Control下的生成连接字符串。

图2.2

图2.3图2.4

(3)设置ADODataControl的RecordSource属性。

图2.5

命令类型:

adCmdText:

值1,表示命令为SQL语句。

adCmdTable:

值2,表示命令为一表名。

adCmdStoredProc:

值4,表示命令是一存储过程名。

adCmdUnknown:

值8,表示不确定命令类型。

(4)此时数据源控件已连接好数据库,可以直接访问它,或者可以充当数据表格控件的数据源使用。

b)用Connection对象连接数和操作据库

(1)创建Connection对象

_ConnectionPtrpConnection=NULL;

pConnection.CreateInstance(__uuidof(Connection));

(2)使用Connection对象

HRESULThr;

_bstr_tstrCnn("Provider=SQLOLEDB;Server=microsof-cee903\\dcr;DataBase=XSCJ;UID=wmx;PWD=1234;");//“SQLOLEDB”—使用OLEDB,“microsof-cee903\\dcr”—SQL数据库服务器名,”XSCJ”—数据库名,后面是用户明和密码

hr=pConnection->Open(strCnn,"","",NULL);

(3)Command对象

用来执行SQL语句来操作数据库的对象,根据参数的不同可以执行存储过程

_CommandPtrpCmd=NULL;//定义command对象指针

_ParameterPtrpParam=NULL;

_RecordsetPtrpRs=NULL;

CStringSqlStr;

pCmd.CreateInstance(__uuidof(Command));

pCmd->ActiveConnection=pConnection;

//执行SQL语句

SqlStr.Format("Select*fromKC");

pCmd->CommandText=(_bstr_t)SqlStr;

pRs=pCmd->Execute(&vNULL,&vNULL,adCmdText);//返回记录集

//执行存储过程

SqlStr.Format("AddStuScore");

pCmd->CommandText=(_bstr_t)SqlStr;

pCmd->CommandType=adCmdStoredProc;

//为存储过程创建输入参数

pParam=pCmd->CreateParameter("@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,adParamInput,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)Recordset对象

用来操作表的更新删除等的对象

_RecordsetPtrpRs=NULL;

CStringSqlStr;

pRs.CreateInstance(__uuidof(Recordset));

SqlStr.Format("select*fromXSwhereXH='%s'",”081101”);

//打开记录集

pRs->Open(_variant_t(SqlStr),_variant_t((IDispatch*)pConnection,true),adOpenKeyset,adLockOptimistic,adCmdText);

if(!

pRs->adoEOF)

{

pRs->PutCollect("CSSJ",_variant_t((DATE)”1991-2-5”));

//更新记录集

pRs->Update();

}

pRs->Close();

pConnection->Close();

 

3.学生成绩管理系统

本演示系统是一个用VC实现的简单的学生成绩管理系统,使用用可视ADODC控件和ADODB对象来访问后台数据库服务器的,包含学生信息的查询、学生休息的录入修改删除、学生成绩的录入修改,下面就分别说明各模块的具体实现。

4.系统主界面

创建XSCJ多文档MFC工程,会生成框架,MainFrm、XSCJDoc、XSCJView等对象,这里演示的程序比较简单,所以代码主要加在XSCJView对象里,创建两个Dialog来实现学生信息修改和学生成绩修改。

主界面菜单和工具条框架如下:

图4.1

主要功能:

主界面,导航作用,点击可进入操作窗口。

创建过程:

(1)创建菜单:

图4.2

因为学生信息查询作为默认的界面,所以创建学生信息修改、学生成绩修改,打开VC的ClassWizad,添加菜单处理事件,这里选择映射到View对象里面。

图4.3

(2)创建工具条:

图4.4

创建工具条,打开VC的ClassWizad,添加菜单处理事件,这里选择映射到View对象里面。

图4.5

主要菜单代码:

菜单Click的处理过程在CXSCJView对象里面,对应与CXSCJView.cpp文件

学生信息修改菜单

voidCXSCJView:

:

OnMenuitem32771()

{

//TODO:

Addyou

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

当前位置:首页 > 求职职场 > 面试

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

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