设为首页 加入收藏

TOP

用MFC ODBC操作Access数据库(三)
2012-11-04 15:13:46 来源: 作者: 【 】 浏览:531
Tags:MFC ODBC 操作 Access 数据库
  4、 实现程序的添加、修改和删除记录的功能

  在实现上述功能之前,需要按“插入->资源->DIALOG->新建”建立一个新的对话框(与图1所示对话框类似),以建立添加、修改的对象。并为此对话框建立一个基于CDialog基础类的新的类CAddDlg。其ID为IDD_DIALOG1。

  然后在JhView.cpp中加“#include "AddDlg.h"”,并为“添加记录(IDC_ADD)”键编写程序代码如下。其中已经作了详细的注解。

void CJhView::OnAdd()
{
 //建立一个新的添加对话框
 CAddDlg dlg;
 if(dlg.DoModal()==IDOK)
 {
  //增加一条新的记录
  m_pSet->AddNew();
  //把对话框中的记录传递到记录集中
  m_pSet->m_baudrate=dlg.m_br;
  m_pSet->m_type=dlg.m_ty;
  m_pSet->m_unit=dlg.m_un;
  m_pSet->m_number=dlg.m_nu;
  m_pSet->m_address=dlg.m_add;
  m_pSet->m_istart=dlg.m_is;
  m_pSet->m_iend=dlg.m_ie;
  m_pSet->m_ostart=dlg.m_os;
  m_pSet->m_oend=dlg.m_oe;

  m_pSet->Update(); //把新的记录存在数据源里
  m_pSet->MoveLast(); //指定当前记录为最后一条记录
  UpdateData(false); //清空已输入内容
 }
}

  添加记录部分,应该先读出当前的记录,使其显示在添加/修改对话框中,即:

dlg.m_br=m_pSet->m_baudrate;
dlg.m_ty=m_pSet->m_type;
dlg.m_un=m_pSet->m_unit;
dlg.m_nu=m_pSet->m_number;
dlg.m_add=m_pSet->m_address;
dlg.m_is=m_pSet->m_istart;
dlg.m_ie=m_pSet->m_iend;
dlg.m_os=m_pSet->m_ostart;
dlg.m_oe=m_pSet->m_oend;

  余下的与添加记录代码相同,除了不要定位“m_pSet->MoveLast();”而已。

  删除记录只是需要使用Delete()成员函数删除当前记录之后移到下一个记录即可。程序清单如下:

void CJhView::OnDel()
{
 try//试着删除一条记录
 {
  m_pSet->Delete();
 }
 catch(CDBException*error)
 {
  AfxMessageBox(error->m_strError);
  error->Delete();
  m_pSet->MoveFirst();
  UpdateData(FALSE);
  return;
 }
 //移到下一个记录
 m_pSet->MoveNext();
 //测试是否为文件末尾,是,则使用MoveLast(),而不是使用MoveNext()
 if(m_pSet->IsEOF())
  m_pSet->MoveLast();
  UpdateData(FALSE);
}

  对多个记录集的操作与对单个记录集的操作类似,只是增加了CRecordSet类的派生类。

  结束语

  MFC ODBC让开发人员仅仅使用很少的代码就可以完成复杂的数据库访问,并可以对数据库中的内容方便的实现添加、修改、删除等操作,从而极大地减少了软件开发的工作量,缩短了开发周期,提高了效率。而且MFC ODBC简单易学,能实现大部分ODBC API函数的功能,所以了解和掌握MFC ODBC技术,将会给大型数据库应用软件带来清晰、快捷、方便等功能。本文中的实例已经在Visual C++(www.cppentry.com)6.0环境下调试通过。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MFC中动态创建对象的一点思考 下一篇浅析DirectShow音视频同步解决方案

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: