qq_32239757 2017-07-18 04:24 采纳率: 0%
浏览 1178
已结题

【菜鸟求教】VC6通过ADO连接SQL server2008失败

先给出工具类的定义
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条回答 默认 最新

  • threenewbee 2017-07-18 15:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp