本文主要是介绍VC版学生成绩管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VC版学生成绩管理系统
一. 功能需求:
1. 能进行对数据库的连接(后台):
这是查询管理信息的基础。
2. 能进行增、删、改、查等基本功能:
这是学生成绩管理系统最基本的功能,可以在这个基础上进行扩展其他功能。
二. 总体设计:
1. 对数据库的连接(后台):
这是所有功能的基础,此项的实现可在后台进行。
我使用的是ADO方式连接数据库。(应避免让用户手动连接数据库)
这项功能写在一个类中最好。
2. 对窗体控件及相应的函数设计:
A.控件的添加:
(1).要进进行增、删、改、查,必须要添加相应的按钮。
在对话框的的特定区域添加相应的按钮,而且,对于增、删、改等操作只能由管理员进行,其他用户无权操作;对于查询,则可有按学号或按姓名等多种查询方式。
(2).要能显示查询结果,必须有显示控件(我使用List Contral控件)。
(3).要能有菜单就更好了。
B.相应控件响应函数的添加:
为每个相应的控件添加响应函数。
三. 详细设计:
1. 对数据库的连接(后台):
(1).引入ADO类库:
A.添加一个ADO连接类。
B.添加动态链接库:
在ADOConn.h的头文件中加入以下语句:
(2).封装ADO数据库对象:
A.在ADOConn.h头文件中添加成员变量:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
(3).添加函数:
A.添加初始化OLE/COM库环境函数(OnInitADOConn())。
B.添加断开数据库连接函数(ExitConnect())。
C.添加打开获得记录集函数(GetRecordSet())。
D. 添加执行SQL语句的ExecuteSQL()函数。
相关代码如下:
voidADOConn::OnInitADOConn()
{::CoInitialize(NULL); //初始化OLE/COM环境m_pConnection.CreateInstance(__uuidof(Connection)); //创建connection对象// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,// 因为它有时会经常出现一些意想不到的错误。try { // 打开本地Access库student.mdbm_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=student.mdb","","",adModeUnknown);}//捕获异常catch(_com_error e){AfxMessageBox(e.Description());}
}
void ADOConn::ExitConnect()
{//关闭记录集和连接if(m_pRecordset!=NULL)m_pRecordset->Close();m_pConnection->Close();//释放环境::CoUninitialize();
}
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{try{//连接数据库,如果conection对象为空,则重新连接数据库if(m_pConnection==NULL)OnInitADOConn();//创建记录集对象m_pRecordset.CreateInstance(__uuidof(Recordset));//取得表中的记录m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);}catch(_com_error e){e.Description();}//返回记录集return m_pRecordset;
}
BOOL ADOConn::ExecuteSQL(_bstr_t _bstrSQL)
{_variant_tRecordsAffected;try{//是否已连接数据库if(m_pConnection==NULL)OnInitADOConn();m_pConnection->Execute(_bstrSQL,NULL,adCmdText);
这篇关于VC版学生成绩管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!