資源簡(jiǎn)介
c++ 利用ado操作sql server的封裝類(lèi),包括增刪改查的全部操作

代碼片段和文件信息
//
//??MODULE:?Ado2.cpp
//
// AUTHOR:?Carlos?Antollini?
//
//??mailto:?cantollini@hotmail.com
//
// Date:?07/02/2003
//
// Version?2.10
//
#include?“ado2.h“
#define?ChunkSize?100
BOOL?CJetEngine::CCompactDatabase(CString?strDatabaseSource?CString?strDatabaseDestination)
{
try
{
::CoInitialize(NULL);
IJetEnginePtr?jet(__uuidof(JetEngine));
HRESULT?hr?=?jet->CompactDatabase(_bstr_t(strDatabaseSource.GetBuffer(0))?_bstr_t(strDatabaseDestination.GetBuffer(0)));
::CoUninitialize();
return?hr?==?S_OK;
}
catch(_com_error?&e)?
{???????
::CoUninitialize();
return?FALSE;
}?
}
///////////////////////////////////////////////////////
//
//?CADODatabase?Class
//
DWORD?CADODatabase::GetRecordCount(_RecordsetPtr?m_pRs)
{
DWORD?numRows?=?0;
numRows?=?m_pRs->GetRecordCount();
if(numRows?==?-1)
{
if(m_pRs->EndOfFile?!=?VARIANT_TRUE)
m_pRs->MoveFirst();
while(m_pRs->EndOfFile?!=?VARIANT_TRUE)
{
numRows++;
m_pRs->MoveNext();
}
if(numRows?>?0)
m_pRs->MoveFirst();
}
return?numRows;
}
BOOL?CADODatabase::Open(LPCTSTR?lpstrConnection?LPCTSTR?lpstrUserID?LPCTSTR?lpstrPassword)
{
HRESULT?hr?=?S_OK;
if(IsOpen())
Close();
if(strcmp(lpstrConnection?_T(““))?!=?0)
m_strConnection?=?lpstrConnection;
ASSERT(!m_strConnection.IsEmpty());
try
{
if(m_nConnectionTimeout?!=?0)
m_pConnection->PutConnectionTimeout(m_nConnectionTimeout);
hr?=?m_pConnection->Open(_bstr_t(m_strConnection)?_bstr_t(lpstrUserID)?_bstr_t(lpstrPassword)?NULL);
return?hr?==?S_OK;
}
catch(_com_error?&e)
{
dump_com_error(e);
return?FALSE;
}
}
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_strErrorDescription?=?(LPCSTR)bstrDescription?;
m_strLastError?=?_T(“Connection?String?=?“?+?GetConnectionString()?+?‘\n‘?+?ErrorStr);
m_dwLastError?=?e.Error();?
#ifdef?_DEBUG
AfxMessageBox(ErrorStr?MB_OK?|?MB_IConerror?);
#endif
}
BOOL?CADODatabase::IsOpen()
{
if(m_pConnection?)
return?m_pConnection->GetState()?!=?adStateClosed;
return?FALSE;
}
void?CADODatabase::Close()
{
if(IsOpen())
m_pConnection->Close();
}
///////////////////////////////////////////////////////
//
//?CADORecordset?Class
//
CADORecordset::CADORecordset()
{
m_pRecordset?=?NULL;
m_pCmd?=?NULL;
m_strQuery?=?_T(““);
m_strLastError?=?_T(““);
m_dwLastError?=?0;
m_pRecBinding?=?NULL;
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pCmd.CreateInstance(__uuidof(Command));
m_nEditStatus?=?CADORecordset::dbEditNone;
m_nSearchDirection?=?CADORecordset::searchForward;
}
CADORecordset::CADORecordset(CADODatabase*?p
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????46994??2010-07-21?16:54??封裝--完\ado2.cpp
?????文件??????17566??2003-08-09?22:21??封裝--完\ado2.h
?????目錄??????????0??2010-08-27?12:19??封裝--完
-----------?---------??----------?-----??----
????????????????64560????????????????????3
- 上一篇:v4l2 mfc 視頻解碼
- 下一篇:地鐵換乘系統(tǒng)
評(píng)論
共有 條評(píng)論