📄 adoprocess.cpp
字号:
// AdoProcess.cpp : Implementation of CAdoProcess
#include "stdafx.h"
#include "DcomServer.h"
#include "AdoProcess.h"
/////////////////////////////////////////////////////////////////////////////
// CAdoProcess
STDMETHODIMP CAdoProcess::InitData(BSTR sServer, BSTR sDataBase, BSTR sUser, BSTR sPwd)
{
m_AdoConn.m_sServer = CString(sServer);
m_AdoConn.m_sDatabase = CString(sDataBase);
m_AdoConn.m_sUser = CString(sUser);
m_AdoConn.m_sPwd = CString(sPwd);
return S_OK;
}
STDMETHODIMP CAdoProcess::Connect()
{
if(m_AdoConn.OnInitDBConnect())
return S_OK;
else
return E_NOTIMPL;
}
STDMETHODIMP CAdoProcess::ExecuteSQL(BSTR bstrSQL)
{
CString sSql = CString(bstrSQL);
if (m_AdoConn.ExecuteSQL((_bstr_t)sSql))
{
return S_OK;
}
else
{
return E_NOTIMPL;
}
}
STDMETHODIMP CAdoProcess::GetRecordCount(BSTR bstrSQL, DWORD *nCount)
{
CString sSql = CString(bstrSQL);
int num = 0;
if (!m_AdoConn.GetRecordCount((_bstr_t)sSql,num))
{
return E_NOTIMPL;
}
*nCount = (DWORD)num;
return S_OK;
}
STDMETHODIMP CAdoProcess::ExitConnect()
{
m_AdoConn.ExitConnect();
return S_OK;
}
STDMETHODIMP CAdoProcess::GetRecordDataChar(BSTR bsSql, BSTR sItemName, DWORD nNum, VARIANT *pData)
{
BSTR *bData = new BSTR[nNum];
VariantInit(pData);
pData->vt = VT_ARRAY|VT_I4;
SAFEARRAY *psa;
SAFEARRAYBOUND bd = {nNum ,0 };
psa = SafeArrayCreate(VT_BSTR/*BSTR类型*/,1/*一维数组*/,&bd);
SafeArrayAccessData(psa,(void**)&bData);
if(m_AdoConn.GetRecordDataChar((_bstr_t)bsSql,CString(sItemName),nNum,bData))
{
SafeArrayUnaccessData(psa);
pData->parray = psa;
return S_OK;
}
else
{
SafeArrayUnaccessData(psa);
return E_NOTIMPL;
}
}
STDMETHODIMP CAdoProcess::GetRecordDataDWORD(BSTR bsSql, BSTR sItemName, DWORD nNum, VARIANT *pData)
{
int *bData = new int[nNum];
VariantInit(pData);
pData->vt = VT_ARRAY|VT_I4;
SAFEARRAY *psa;
SAFEARRAYBOUND bd = {nNum ,0 };
psa = SafeArrayCreate(VT_I4/*int类型*/,1/*一维数组*/,&bd);
SafeArrayAccessData(psa,(void**)&bData);
if(m_AdoConn.GetRecordDataDWORD((_bstr_t)bsSql,CString(sItemName),nNum,(DWORD *)bData))
{
SafeArrayUnaccessData(psa);
pData->parray = psa;
return S_OK;
}
else
{
SafeArrayUnaccessData(psa);
return E_NOTIMPL;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -