📄 mysqlconnect.cpp
字号:
#include "StdAfx.h"
#include "MySqlConnect.h"
_ConnectionPtr pMyConnect;
MySqlConnect::MySqlConnect(void)
{
pMyConnect = NULL;
}
MySqlConnect::~MySqlConnect(void)
{
}
bool MySqlConnect :: InitSQLServer(CString server, CString db, CString UserName, CString Pwd)
{
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
return FALSE;
CString str_connect = _T("Provider=SQLOLEDB; Server=") + server + _T(";Database=") + db + _T(";uid=") + UserName + _T(";pwd=") + Pwd;
//_bstr_t strConnect="Provider=SQLOLEDB; Server=JACK;"
//"Database=wirss_a; uid=sa; pwd=1;";
//connecting to the database server now:
try
{
pMyConnect->Open((_bstr_t)str_connect,"","",NULL);
}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
//printf("%s\n", (LPCTSTR)e.Description());
return FALSE;
}
return TRUE;
}
// 执行查询
_RecordsetPtr MySqlConnect::GetRecordSet( CString m_strSql)
{
//_RecordsetPtr m_pRs;
try
{
m_pRs.CreateInstance( __uuidof(Recordset) );
// 取得表中的记录
m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);
}
// 捕捉异常
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
}
// 返回记录集
int xxx = m_pRs->GetRecordCount();
return m_pRs;
}
// 执行查询
bool MySqlConnect::bExcuteSQLResult( CString m_strSql)
{
_variant_t RecordsAffected;
bool bSuccess = false;
try
{
bSuccess = pMyConnect->Execute(_bstr_t(m_strSql),&RecordsAffected,adCmdText);
}
// 捕捉异常
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
}
// 返回记录集
return bSuccess;
}
void MySqlConnect::ExitConnect()
{
// 关闭记录集和连接
if ( m_pRs != NULL )
m_pRs->Close();
if ( pMyConnect != NULL )
pMyConnect = NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -