• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: ado.h  ado.cpp  

资源简介

ado.h ado.cpp 链接数据库的两个文件

资源截图

代码片段和文件信息

// ado.cpp : implementation file
//
#include “stdafx.h“
#include “ado.h“
#include 
/////////////////////////////////////////////////////////////////////////////
// CADODatabase class

BOOL CADODatabase::Open(LPCTSTR lpstrConnection)
{
HRESULT hr = S_OK;

if(IsOpen())
Close();

if(strcmp(lpstrConnection _T(““)) != 0)
m_strConnection = lpstrConnection;

ASSERT(!m_strConnection.IsEmpty());

try
{
hr = m_pConnection->Open(_bstr_t(m_strConnection) ““ ““ NULL);
return hr == S_OK;
}
catch(_com_error &e)
{
dump_com_error(e);
}
return FALSE;
}

BOOL CADODatabase::Execute(LPCTSTR lpstrExec)
{
ASSERT(m_pConnection != NULL);
ASSERT(strcmp(lpstrExec _T(““)) != 0);

try
{
m_pConnection->Execute(_bstr_t(lpstrExec) NULL adExecuteNoRecords);
}
catch(_com_error &e)
{
dump_com_error(e);
}
return TRUE;
}

void CADODatabase::dump_com_error(_com_error &e)
{
CString ErrorStr;


_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
ErrorStr.Format( “CADODatabase Error\n\tCode = %08lx\n\tCode meaning = %s\n\tSource = %s\n\tDescription = %s\n“
e.Error() e.ErrorMessage() (LPCSTR)bstrSource (LPCSTR)bstrDescription );
m_strLastError = _T(“Connection String = “ + GetConnectionString() + ‘\n‘ + ErrorStr);
#ifdef _DEBUG
AfxMessageBox( ErrorStr MB_OK | MB_IConerror );
#endif
}

BOOL CADODatabase::IsOpen()
{ try
{
return (m_pConnection != NULL && (m_pConnection->State & adStateOpen));
}
catch (_com_error e)
{
dump_com_error(e);
return FALSE;

return FALSE;
}

void CADODatabase::Close()
{
try
{ if (IsOpen()) 
m_pConnection->Close();
}
catch (_com_error e)
{
dump_com_error(e);

}

long CADODatabase::BeginTransaction()
{
ASSERT(m_pConnection != NULL);
try
{
return m_pConnection->BeginTrans();
}
catch (_com_error e)
{
dump_com_error(e);
return -1;

return -1;
}

BOOL CADODatabase::CommitTransaction()
{
ASSERT(m_pConnection != NULL);
try
{
return SUCCEEDED(m_pConnection->CommitTrans());
}
catch (_com_error e)
{
dump_com_error(e);
return FALSE;

return FALSE;
}

BOOL CADODatabase::RollbackTransaction()
{
ASSERT(m_pConnection != NULL);
try
{
return SUCCEEDED(m_pConnection->RollbackTrans());
}
catch (_com_error e)
{
dump_com_error(e);
return FALSE;

return FALSE;
}
/////////////////////////////////////////////////////////////////////////////
// CADORecordset class

/////////////////////////////////////////////////////////////////////////////
//构造函数
CADORecordset::CADORecordset(CADODatabase* pAdoDatabase)
{
m_pRecordset = NULL;
m_strQuery = _T(““);
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_nSearchDirection = CADORecordset::searchForward;

m_pConnection = pAdoDatabase->GetActiveConnection();
}
////////////////////////////////////////////////////////////////////////

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      19238  2005-08-04 15:05  ado.cpp

     文件       6079  2005-08-04 16:19  ado.h

----------- ---------  ---------- -----  ----

                25317                    2


评论

共有 条评论

相关资源