连接前需要执行初始化连接,就是要先创建连接指针的实例才能在后面来操作。初始化好后,才能使用此处的连接数据库。或者你可以将初始化封装到一起。有源代码,你可以随心组合,不存在任何版权问题。
//连接数据库
bool dxDb::ConnectDatebase()
{
char sql_str[128]="";
sprintf_s(sql_str,128,"Provider = SQLOLEDB.1;Data Source=%s;Initial Catalog=%s;User ID=%s;Password=%s",
m_ConnParam.server,m_ConnParam.db,m_ConnParam.username,m_ConnParam.password);
m_pConn->ConnectionString=sql_str;
try
{
HRESULT hr = m_pConn->Open("","","",-1);
if (hr != S_OK)
{
::MessageBox(NULL,"无法连接指定的数据库!","数据库连接错误提示",MB_OK | MB_ICONERROR);
CoUninitialize();
return false;
}
}
catch(_com_error e)
{
string errstr = e.Description();
::MessageBox(NULL,errstr.c_str(),"数据库连接错误提示",MB_OK | MB_ICONERROR);
CoUninitialize();
return false;
}
return true;
}
//关闭数据库连接
void dxDb::DisConnectDatebase()
{
if (m_pConn->State==adStateOpen)
m_pConn->Close();
}