91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

對ADO進行簡單封裝,支持參數化、存儲過程。 同一語句可以多次執行,以提高效率。 使用方法: 1、創建對象 2、參數準備(如果有的話) 3、數據庫命令準備(如果需要多次執行) 4、打開數據庫連接 5、執行SQL語句或者準備好的數據庫命令,返回受影響的記錄條數或者數據集中地記錄數。 6、操作傳出的數據集(可參照ExecuteScalar) 7、使用PutParameters刷新參數值,進行再次執行(如果需要多次執行)。 8、調用CloseRecordset關閉數據集,同時釋放數據庫命令對象。 9、關閉數據庫連接。 注釋暫時比較少,請多包涵。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“ADOAccess.h“

CADOAccess::CADOAccess()
{
????try
????{
????????CoInitialize(NULL);
????????m_pConnection.CreateInstance(“ADODB.Connection“);
????}
????catch(...)
????{
????????TRACE(L“Warning:?%s?發生異常.?錯誤信息:?%s;?文件:?%s;?行:?%d\n“)
?????????????__FUNCTION__??L“未知錯誤“?__FILE__?__LINE__);
????}
}

CADOAccess::~CADOAccess()
{
????m_pConnection.Release();
????CoUninitialize();
}

BOOL?CADOAccess::IsConnectionOpen()
{
????return?(m_pConnection?!=?NULL?&&?(m_pConnection->State?&?adStateOpen));
}

_RecordsetPtr?CADOAccess::OpenSchema(SchemaEnum?QueryType)
{
????return?m_pConnection->OpenSchema(QueryType);
}

BOOL?CADOAccess::OpenConnection(LPCTSTR?lpszConnect?long?lOptions)
{
????HRESULT?rtn;

????if?(_tcscmp(lpszConnect?_T(““))?!=?0)
????{
????????m_strConnection?=?lpszConnect;
????}

????if?(m_strConnection.IsEmpty())
????{
????????ASSERT(FALSE);
????????return?FALSE;
????}

????if?(IsConnectionOpen())
????{
????????return?TRUE;
????}

????try
????{
????????m_pConnection->Mode?=?adModeReadWrite;
????????m_pConnection->CursorLocation?=?adUseClient;
????????rtn?=?m_pConnection->Open((_bstr_t)m_strConnection?““?““?lOptions);
????????return?(rtn?==?S_OK);
????}
????catch?(_com_error?e)
????{
????????TRACE(_T(“Warning:?%s?發生異常.?錯誤信息:?%s;?文件:?%s;?行:?%d\n“)
?????????????__FUNCTION__??e.ErrorMessage()?__FILE__?__LINE__);
????????return?FALSE;
????}?
????catch?(...)
????{
????????TRACE(_T(“Warning:?連接數據庫時發生未知錯誤:“));
????}
????return?FALSE;
}

BOOL?CADOAccess::ConnectSQLServer(CString?strDBSrc?CString?strDBName
?????????CString?strUser?CString?strPwd?long?lOptions)
{
????CString?strConnect?=_T(“Provider=SQLOLEDB.1;?Data?Source=%s;“);
????strConnect.Append(_T(“?Initial?Catalog=%s;?User?ID=%s;?PWD=%s“));
????m_strConnection.Format(strConnect?strDBSrc?strDBName?strUser?strPwd);
????return?OpenConnection(m_strConnection?lOptions);
}

void?CADOAccess::CloseConnection()
{
????try
????{
????????CloseRecordset();

????????if?(m_pCommand?!=?NULL)
????????{
????????????m_pCommand.Release();
????????}

????????if?(IsConnectionOpen())?
????????{
????????????m_pConnection->Close();
????????}
????}
????catch?(_com_error?e)
????{
????????TRACE(_T(“Warning:?%s?發生異常.?錯誤信息:?%s;?文件:?%s;?行:?%d\n“)
?????????????__FUNCTION__?e.ErrorMessage()?__FILE__?__LINE__);
????}?
}

long?CADOAccess::BeginTrans()
{
????ASSERT(m_pConnection?!=?NULL);

????try
????{
????????return?m_pConnection->BeginTrans();
????}
????catch?(_com_error?e)
????{
????????TRACE(_T(“Warning:?%s?發生異常.?錯誤信息:?%s;?文件:?%s;?行:?%d\n“)
?????????????__FUNCTION__?e.ErrorMessage()?__FILE__?__LINE__);
????????return?-1;
????}?
????return?-1;
}

BOOL?CADOAccess::RollbackTrans()
{
????ASSERT(m_pConnection?!=?NULL);

????try
????{
????????return?SUCCEEDED(m_pConnection->RollbackTrans());
????}
????catch?(_com_error?e)
????{
????????TRACE(_T(“Warn

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2097??2009-11-20?14:21??ADOAccess.h

?????文件???????9018??2009-11-23?15:01??ADOAccess.cpp

-----------?---------??----------?-----??----

????????????????11115????????????????????2


評論

共有 條評論