?? adoconn.cpp
字號:
// ADOConn.cpp: implementation of the ADOConn class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
CString GetFieldStr(char* str,ADODB::_RecordsetPtr pDS)
{
CString strField(str);
CString strBack(_T(""));
_variant_t VarField;
VarField = pDS->GetCollect((_bstr_t)strField);
if (VarField.vt != VT_NULL)
{
strBack = (LPCTSTR)(_bstr_t)pDS->GetCollect((_bstr_t)strField);
}
return strBack;
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADOConn::ADOConn():m_bConnect(false)
{
}
ADOConn::~ADOConn()
{
}
// 初始化—連接數據庫
bool ADOConn::OnInitADOConn(CString str_User,CString str_Pass,CString str_server,CString str_Db)
{
m_str_user = str_User;
m_str_password = str_Pass;
m_str_server = str_server;
m_str_Db = str_Db;
// 初始化OLE/COM庫環境
::CoInitialize(NULL);
try
{
// 創建Connection對象
m_pConnection.CreateInstance("ADODB.Connection");
// 設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect = "Provider=MSDAORA.1; Data Source ="+m_str_server+";Database=m_str_Db; uid="+m_str_user+"; pwd="+m_str_password+";";
m_pConnection->Open(strConnect,"","",ADODB::adModeUnknown);
m_bConnect = true;
return TRUE;
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯誤信息
AfxMessageBox(e.Description());
return FALSE;
}
}
// 執行查詢
ADODB::_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
// 創建記錄集對象
m_pRecordset.CreateInstance(__uuidof(ADODB::Recordset));
// 取得表中的記錄
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),ADODB::adOpenDynamic,ADODB::adLockOptimistic,ADODB::adCmdText);
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯誤信息
AfxMessageBox(e.Description());
}
// 返回記錄集
return m_pRecordset;
}
// 執行SQL語句,Insert Update _variant_t
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
// _variant_t RecordsAffected;
try
{
m_pConnection->Execute(bstrSQL,NULL,ADODB::adCmdText);
return true;
}
catch(_com_error e)
{
//AfxMessageBox(e.Description());
return false;
}
}
void ADOConn::ExitConnect()
{
// 關閉記錄集和連接
//if (m_pRecordset != NULL)
// m_pRecordset->Close();
m_pConnection->Close();
// 釋放環境
::CoUninitialize();
}
void ADOConn::SetServer(CString str_server)
{
m_str_server = str_server;
}
void ADOConn::SetDbUserPass(CString strUser, CString strPassWord)
{
m_str_user = strUser;
m_str_password = strPassWord;
}
bool ADOConn::OnInitADOAcess(CString strDB)
{
// 初始化OLE/COM庫環境
::CoInitialize(NULL);
try
{
// 創建Connection對象
m_pConnection.CreateInstance("ADODB.Connection");
// 設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+strDB;
m_pConnection->Open(strConnect,"","",ADODB::adModeUnknown);
m_bConnect= true;
return TRUE;
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯誤信息
AfxMessageBox("Acess"+e.Description());
return FALSE;
}
}
bool ADOConn::OnInitADOConnOra(CString str_User, CString str_pass, CString str_Server)
{
// 初始化OLE/COM庫環境
::CoInitialize(NULL);
try
{
// 創建Connection對象
m_pConnection.CreateInstance("ADODB.Connection");
// 設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect = "Provider = MSDAORA.1;Password="+m_str_password+";User ID="+m_str_user+";Data Source=SVF;Persist Security Info=True";
m_pConnection->Open(strConnect,"","",ADODB::adModeUnknown);
m_bConnect = true;
return TRUE;
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯誤信息
AfxMessageBox(e.Description());
return FALSE;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -