VC学生成绩管理系统及源码Word文档下载推荐.doc

上传人:wj 文档编号:7205396 上传时间:2023-05-08 格式:DOC 页数:43 大小:779.50KB
下载 相关 举报
VC学生成绩管理系统及源码Word文档下载推荐.doc_第1页
第1页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第2页
第2页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第3页
第3页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第4页
第4页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第5页
第5页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第6页
第6页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第7页
第7页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第8页
第8页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第9页
第9页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第10页
第10页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第11页
第11页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第12页
第12页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第13页
第13页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第14页
第14页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第15页
第15页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第16页
第16页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第17页
第17页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第18页
第18页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第19页
第19页 / 共43页
VC学生成绩管理系统及源码Word文档下载推荐.doc_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VC学生成绩管理系统及源码Word文档下载推荐.doc

《VC学生成绩管理系统及源码Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《VC学生成绩管理系统及源码Word文档下载推荐.doc(43页珍藏版)》请在冰点文库上搜索。

VC学生成绩管理系统及源码Word文档下载推荐.doc

图如下图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控件连接数据库,从Projectà

AddToProjectà

ComponentsAndControls,如图将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"

CommandText=(_bstr_t)SqlStr;

pRs=pCmd->

Execute(&

vNULL,&

vNULL,adCmdText);

//返回记录集

//执行存储过程

SqlStr.Format("

AddStuScore"

pCmd->

CommandType=adCmdStoredProc;

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

pParam=pCmd->

CreateParameter("

@XH"

adVarChar,adParamInput,16);

pParam->

Value=_variant_t(“081101”);

Parameters->

Append(pParam);

@KCM"

Value=_variant_t(“计算机基础”);

@CJ"

adInteger,adParamInput,4);

Value=_variant_t((long)80);

@XF"

Value=_variant_t((long)0);

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”));

//更新记录集

Update();

}

pConnection->

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:

Addyourcommandhandlercodehere

CStuInfoModifymyStuInfoWin;

myStuInfoWin.DoModal();

}

学生成绩录入菜单

OnMenuitem32772()

CStuAddScoremyStuAddScoreWin;

myStuAddScoreWin.DoModal();

工具条Click的处理,分别对应调用菜单中的处理过程

学生信息修改工具条Click的处理

OnButton32773()

成绩录入工具条Click的处理

OnButton32774()

5.学生信息查询

目的与要求:

了解使用控件显示用SQL语句查询到的数据库中的数据,同时了解模糊查询的基本方法。

程序界面:

DataGrid控件

ADODC控件

学生选课表

图5.1

主要功能:

实现简单查询的需要,输入条件进行模糊查询,各条件之间为与的关系,在查询的结果中移动记录指针可以查看这个学生的具体选课信息

(1)在View的主窗体IDD_XSCJ_FORM上放入两个学生信息查询的ADODC和学生选课信息的ADODC、创建两个学生信息显示的DataGrid和学生选课信息显示的DataGrid,并分别起名为IDC_STUVIEWADODC,IDC_StuKCADO,IDC_STUVIEWDATAGRID,IDC_DGKC。

放入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;

IntegratedSecurity=SSPI;

PersistSecurityInfo=False;

UserID=sa;

InitialCatalog=XSCJ;

DataSource=microsof-cee903\dcr

(3)设置IDC_STUVIEWADODC的RecordSource属性为

select*fromXS,CXBwhereXS.XB=CXB.XB

(4)设置IDC_STUVIEWDATAGRID的DataSource属性为IDC_STUVIEWADODC。

(5)设置IDC_StuKCADO的ConnectionString属性为

(6)设置IDC_StuKCADO的RecordSource属性为

select*fromXS,KC,XS_KC

whereXS.XH=XS_KC.XHandKC.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

实现过程:

直接打开时由于控件属性的设置,所以显示所有记录,当输入查询条件时点击查询按钮则调用MakeSqlStr函数产生查询字符串,然后重新设置控件的属性,打开控件显示查询结果集。

当查询结果学生信息记录集中移动记录指针时,可以在下面的选课表中看到学生选课的信息。

主要代码:

CXSCJView对象的构造函数,为了避免在未初始化完成就做一些操作,所以定义m_AdoInitFlag为初始化完成标记,标记有效才能做进一步操作。

classCXSCJView:

publicCOleDBRecordView

…………………………

public:

intm_AdoInitFlag;

//添加成员变量

…………………………

CXSCJView类的构造函数,初始化成员对象

CXSCJView:

CXSCJView()

:

COleDBRecordView(CXSCJView:

IDD)

//{{AFX_DATA_INIT(CXSCJView)

m_pSet=NULL;

m_StuXH=_T("

m_StuXM=_T("

m_AdoInitFlag=0;

//初始化成0

//}}AFX_DATA_INIT

addconstructioncodehere

CXSCJView初始化函数,这里初始化IDC_STUVIEWDATAGRID的显示格式,添加表格头以及和数据库字段的绑定关系。

OnInitialUpdate()

m_pSet=&

GetDocument()->

m_xSCJSet;

COleDBRecordView:

OnInitialUpdate();

CColumnscols;

CColumncol;

VARIANTvIndex;

Addextrainitializationhere

//增加表格列

cols=m_ViewDBGrid.GetColumns();

cols.Add

(2);

cols.Add(3);

cols.Add(4);

cols.Add(5);

cols.Add(6);

vIndex.vt=VT_UINT;

//分别设定每列的属性,包括表头、绑定的数据库字段

vIndex.uintVal=long(0);

col=cols.GetItem(vIndex);

col.SetDataField("

XH"

col.SetCaption("

学号"

vIndex.uintVal=long

(1);

XM"

姓名"

vIndex.uintVal=long

(2);

XBM"

性别"

vIndex.uintVal=long(3);

出生日期"

vIndex.uintVal=long(4);

ZY"

专业"

vIndex.uintVal=long(5);

ZXF"

总学分"

vIndex.uintVal=long(6);

BZ"

备注"

//初始化标记设置

m_AdoInitFlag=1;

m_ViewDBGrid.ReBind();

m_ViewDBGrid.Refresh();

m_StuViewAdodc.GetRecordset().MoveFirst();

根据输入产生查询SQL语句的函数,以学号、姓名的输入信息和专业的选择生成模糊查询的SQL字符串

CStringCXSCJView:

MakeSqlStr(void)

CStringSqlStr;

CStringTempStr;

UpdateData(TRUE);

if(!

m_StuXH.IsEmpty())

{

SqlStr+="

andXHlike'

%"

;

SqlStr+=m_StuXH;

%'

"

}

m_StuXM.IsEmpty())

//strcat(SqlStr,"

andXHlike"

andXMlike'

SqlStr+=m_StuXM;

//取选择的专业

intindex=m_StuZYCB.GetCurSel();

m_StuZYCB.GetLBText(index,TempStr);

TempStr.TrimRight();

TempStr.IsEmpty())

andZY='

SqlStr+=TempStr;

'

returnSqlStr;

“查询”Click事件处理,用生成的模糊查询的SQL字符串,来刷新IDC_STUVIEWADODC,并显示到关联的DataGrid中,在DataGrid显示查询到的结果

OnSearchb()

//TODO:

Addyourcontrolnotificationhandlercodehere

SqlStr="

select*fromXS,CXBwhereXS.XB=CXB.XB"

+MakeSqlStr();

m_StuViewAdodc.SetRecordSource(SqlStr);

m_StuViewAdodc.Refresh();

IDC_STUVIEWADODC控件有记录Move的消息的时候,以当前学生信息的学号作为查询条件,从XS_KC表中查找当前学生的选课记录,并显示到学生课程显示的IDC_DGKC中

OnMoveCompleteStuviewadodc(l

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2