资源简介
c++ 利用ado操作sql server的封装类,包括增删改查的全部操作
代码片段和文件信息
//
// 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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 视频解码
- 下一篇:地铁换乘系统
相关资源
- C/C++实现linux和Windows查看系统、进程、
- Linux GTK 聊天室 MySql C语言聊天室
- 小型超市管理系统(C++)
- 飞机订票系统___c++
- c++类声明和成员函数分离写法
- opencv多视频同一窗口显示C++程序
- c++ primer plus第六版配套源代码,很全
- C++文件加密系统实验报告
- C语言版本的DES加密解密算法代码!(
- 空间后方交会MFC版,C++源代码
- C++聊天室客户端+服务端
- Aitken加速法算法用c++描述
- vc++ 数据采集卡编程
- Linux 串口源代码纯C++
- 青岛理工大学c++试题
- Viterbi算法c/c++实现
- Qt实现学生管理系统
- 银行家算法c++工程项目文件
- Visual+C+++车牌识别程序
- 循环码编码器
- 图像分割 grabcut C++版本的源码,包含
- VC++ CALLBACK
- C/C++ STL参考手册 STL帮助文档 中文/英
- 基于C++和MFC的哈夫曼编码压缩软件的
- mysql 将图片以二进制格式存储到数据
- mysql读写blob格式数据
- C++人事管理系统
- mfc ado操作sql数据库查询、读写,删除
- hough检测直线的程序
- 电梯运行仿真程序
评论
共有 条评论