转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ADO 方法访问数据库的封装接口(04)         ★★★★

ADO 方法访问数据库的封装接口(04)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1673 更新时间:2009/4/23 10:43:56
; SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

BOOL CDBRecordSet::IsEof(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return TRUE ;
  }
  BOOL bEnd = TRUE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bEnd = (BOOL)(DBRECORDSETPtr->GetEndOfFile());
  }
  return bEnd ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return TRUE ;
}

//是否当前位置位于第一条记录前面
BOOL CDBRecordSet::IsBof(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return TRUE ;
  }
  BOOL bEnd = TRUE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bEnd = (BOOL)(DBRECORDSETPtr->GetBOF());
  }
  return bEnd ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return TRUE ;
}

//获取记录总数
int CDBRecordSet::GetRecordCount(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return -1 ;
  }

  int nRecordCount = -1 ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   nRecordCount = (int)DBRECORDSETPtr->GetRecordCount() ;
  }
  return nRecordCount ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return -1 ;
}

//移动到第一个记录
BOOL CDBRecordSet::MoveFirst(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return FALSE ;
  }
  BOOL bMovedOK = FALSE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bMovedOK = SUCCEEDED(DBRECORDSETPtr->MoveFirst()) ;
  }
  return bMovedOK ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

//移到下一个记录
BOOL CDBRecordSet::MoveNext(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return FALSE ;
  }
  BOOL bMovedOK = FALSE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bMovedOK = SUCCEEDED(DBRECORDSETPtr->MoveNext()) ;
  }
  return bMovedOK ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

//移动到最后一个记录
BOOL CDBRecordSet::MoveLast(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return FALSE ;
  }
  BOOL bMovedOK = FALSE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bMovedOK = SUCCEEDED(DBRECORDSETPtr->MoveLast()) ;
  }
  return bMovedOK ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

//移动到前一个记录
BOOL CDBRecordSet::MovePrevious(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return FALSE ;
  }
  BOOL bMovedOK = FALSE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bMovedOK = SUCCEEDED(DBRECORDSETPtr->MovePrevious()) ;
  }
  return bMovedOK ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

BOOL CDBRecordSet::Move(int nOffset)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return FALSE ;
  }
  BOOL bMovedOK = FALSE ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   bMovedOK = SUCCEEDED(DBRECORDSETPtr->Move((long)nOffset)) ;
  }
  return bMovedOK ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return FALSE ;
}

int CDBRecordSet::GetFieldCount(void)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return -1 ;
  }

  int nFieldCount = -1 ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   if(DBRECORDSETPtr->GetFields() != NULL)
   {
    //记录集中包含的字段数
    nFieldCount = (int)DBRECORDSETPtr->GetFields()->GetCount() ;
   }
  }
  return nFieldCount ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return -1 ;
}

int CDBRecordSet::GetFieldOrder(LPCTSTR szFieldName)
{
 try
 {
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return -1 ;
  }

  int nFieldOrder = -1 ;
  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   if(DBRECORDSETPtr->GetFields() != NULL)
   {
    //记录集中包含的字段数
    long nFieldCount = (int)DBRECORDSETPtr->GetFields()->GetCount() ;
    for(long nIndex = 0L; nIndex < nFieldCount; nIndex++)
    {
     if(DBRECORDSETPtr->GetFields()->Item[nIndex]->Name == _bstr_t(szFieldName))
     {
      nFieldOrder = nIndex ;
      break ; //找到该字段
     }
    }
   }
  }
  return nFieldOrder ;
 }
 catch (_com_error &e)
 {
  SetErrorMessage((LPCTSTR)e.Description(),__FILE__,__LINE__) ;
 }
 catch (...)
 {
  SetErrorMessage(EXCEPTION_UNKNOWN,__FILE__,__LINE__) ;
 }
 return -1 ;
}

LPCTSTR CDBRecordSet::GetFieldName(int nFieldOrder)
{
 try
 {
  m_strTempFieldName.Empty() ;
  if (!m_pRecordSetImpl->isValid())
  {
   SetErrorMessage(RECORDSET_INVALIDHANDLE,__FILE__,__LINE__) ;
   return (LPCTSTR)m_strTempFieldName;
  }

  if(DBRECORDSETPtr->GetState() == adStateOpen)
  {
   if(DBRECORDSETPtr->GetFields() != NULL)
   {
    //记录集中包含的字段数
    long nFieldCount = (int)DBRECORDSETPtr->GetFields()->GetCount() ;
    if(nFieldCount > 0)
    {
     if((nFieldOrder >= 0) &

上一页  [1] [2] [3]  下一页


[VB.NET程序]ADO 在informix的 Addnew  [VB.NET程序]ADO 的测试
[VB.NET程序]ADO 揭密 1  [Web开发][ADO]如何修改ADO的线程模型
[Web开发]Delphi7下仿Ado.Net类的实现  [Web开发]通过COM使用ADO
[Web开发]ADO & ADO.NET中使用存储过程的两个共用的函数  [Web开发]Binding a DataGrid to an ADO Recordset
[Web开发]ADOCE for ADO Programmers  [Web开发]Delphi多线程下的ADO编程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台