MFC关于ODBC数据库连接步骤与相关类说明.docVIP

  • 5
  • 0
  • 约4.31千字
  • 约 6页
  • 2017-06-07 发布于湖北
  • 举报

MFC关于ODBC数据库连接步骤与相关类说明.doc

MFC关于ODBC数据库连接 2011-05-04 13:17:08 一、数据库应用程序中常用的几个类 ????1。CrecordView类 ?????一个CRecordView对象就是用一个视图中的控件来显示数据库中的记录。CRecordView类使用了动态数据交换(DDX)和数据库交换(RFX),在视图上的控件和数据源中的数据库中进行数据交换。 AppWizard 生成CRecordView和CRecordset类,并和相应的数据源关联。 ???2。CRecordset类 ????为了能够处理各种的数据库,最好从类CRecordset派生出一个子类来。数据库从数据源读取数据后,可以做以下的工作: 翻阅所有的记录。 修改记录,设定锁定状态。挑选有用的记录。给数据库排序。给定参数,让数据库在运行的时候自动选择数据。 ???3。CDatabase类 ????CDatabase在afxdb.h中定义。其对象是用来连接一个数据源的。为了使用CDatabase对象,需调用构造函数,并调用OpenEx或是Open函数,这将会打开一个连接。当构造一个CDatabase类完成后,可以向CRecordset类的对象传递这个CDatabase类的指针。连接数据源结束时,必须用Close函数关闭这个对象。 ???4。RFX ?????5。CDBException ????????CDBException是用来处理从其它ODBC类传过来的异常情况的。这个类一般是和关键字CATCH连用的。同样的用户也可以用全局函数AfxThrowDBException抛出一个异常情况 二、实例步骤 ????1。用AppWizard来生成一个单文档的ODBC工程文件 ???? ??????? ??????? ??????? 用ClassWizard给相应的Edit Box连接变量,注意,在Add Member Variable 对话框中的下拉组合框中已经有了相应表中的字段,只要选中相应的字段就可以了 ???? ??????添加菜单响应函数 ???void CODBCView::OnDeleteRecord() //删除记录 {CRecordsetStatus m_cStatus; ?try{ m_pSet-Delete(); } ?catch(CDBException* m_pEx) ?{ AfxMessageBox(m_pEx-m_strError); ???m_pEx-Delete(); ???m_pSet-MoveFirst(); //若失败,将记录指针移到首记录 ???UpdateData(FALSE); ???return; ?} ??m_pSet-GetStatus(m_cStatus); ??if(m_cStatus.m_lCurrentRecord==0) ????????m_pSet-MoveFirst(); //删除了最后一个记录 ??else ????????m_pSet-MoveNext(); ??UpdateData(FALSE); } void CODBCView::OnUpdateDeleteRecord(CCmdUI* pCmdUI) ????????????????????????????????????????????????????????//删除后的刷新 { pCmdUI-Enable(!m_pSet-IsEOF()); } void CODBCView::OnUpdateRecord() { ????????m_pSet-Edit(); ????????UpdateData(TRUE); ????????if(m_pSet-CanUpdate()) ????????????????m_pSet-Update(); } void CODBCView::OnUpdateUpdateRecord(CCmdUI* pCmdUI) ????????????????????????????????????????????????????????//刷新记录集 { ????????pCmdUI-Enable(!m_pSet-IsEOF()); } void CODBCView::OnClearDomain() //清除域 { ????????m_pSet-SetFieldNull(NULL); ????????UpdateData(FALSE); } ??? long CODBCSet::GetMaxID() { MoveLast(); //移到最后一条记录 ????????return m___ID; //返回该ID值 } void C

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档