qq_32239757
2017-07-18 04:24【菜鸟求教】VC6通过ADO连接SQL server2008失败
20先给出工具类的定义
class CAdoUtil
{
public:
BOOL ConnectDB();
BOOL DisConnectDB();
BOOL ConnectDB(CString &szServer,CString &szName,CString &szPassword);
_ConnectionPtr GetConnectionPtr();
CAdoUtil();
virtual ~CAdoUtil();
private:
_ConnectionPtr m_pconnection;
};
无参连接函数
BOOL CAdoUtil::ConnectDB()
{
CString szServer ="127.0.0.1";
CString szname ="Runner";
CString szpassword ="123456";
try
{
if(ConnectDB(szServer,szname,szpassword) ==FALSE)
{
return false;
}
}
catch(_com_error e)
{
throw e;
}
return true;
}
含参连接函数
BOOL CAdoUtil::ConnectDB(CString &szServer, CString &szName, CString &szPassword)
{
if(m_pconnection!=NULL)
return FALSE;
CString szconnect ="";
szconnect.Format(_T("Provider=SQLOLEDB.1;Server=%s;DataBase=Warehouse_managemen_system;User ID=%s;Password=%s;"),szServer,szName,szPassword);
try
{
HRESULT hr =m_pconnection.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{ AfxMessageBox("程序异常1");
return FALSE;
}
if(FAILED(m_pconnection->Open((_bstr_t)szconnect,_T(""),_T(""),adModeUnknown))) //__用断点调试发现是这里除了异常,为E_FAIL
{ // AfxMessageBox("程序异常2");
m_pconnection.Release();
return FALSE;
}
}
catch(_com_error e)
{
if(m_pconnection!=NULL &&m_pconnection->GetState()!= adStateClosed)
{
m_pconnection->Close();
m_pconnection.Release();
m_pconnection =NULL;
}
throw e;
}
catch(...)
{
AfxMessageBox("程序异常A");
}
return true;
}
数据库通过Server身份验证方式登陆,用了自己创建的用户Runner,表有如下配置
本人学生,没系统学过数据库和ADO,还望各位多多包涵~
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 菜鸟求教
- jquery
- 0个回答
- sqlserver 使用not like会筛选出不想要的数据
- sql
- 3个回答
- java通过配置文件连接数据库报错,菜鸟求大神指点
- 数据库
- 图片
- java
- 4个回答
- C#中page.GetType()是什么意思?菜鸟求教!!
- 3个回答
- 菜鸟虚心求教,关于jtext area的一个简单问题。
- java
- jtextarea
- 1个回答
换一换