哪位高手来解决,80分送上!【应该不难的】

谁来解决,80分送上!!【应该不难的】
SQL   Server   运行在本机上,名字为LEOSHENG
里面有数据库use,表UserInfo
为什么我用下面的代码(加在一个按钮下的)出错呢????

_ConnectionPtr   m_pConn;
_RecordsetPtr   m_pRecordset;
_CommandPtr   m_pCommand;

if   (FAILED(m_pConn.CreateInstance( "ADODB.Connection ")))  
{  
AfxMessageBox( "Create   Instance   failed! ");  
return;  
}

CString   strSRC;
strSRC= "Driver=SQL   Server;Server= ";  
        strSRC+= "LEOSHENG ";  
        strSRC+= ";Database=use ";  
        strSRC+= "UserInfo ";  
        strSRC+= ";UID=sa;PWD= ";  

        _variant_t   varSRC(strSRC);  
        _bstr_t   bstrSRC(strSRC);  
        if   (FAILED(m_pConn-> Open(bstrSRC, " ", " ",-1)))  
        {  
        AfxMessageBox( "Can   not   open   Database! ");  
        m_pConn.Release();  
        return;  
        }  
        COleVariant   vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);  

        m_pConn.Release();  

        AfxMessageBox( "ok! ");  
        }

运行点击按钮过一段时间后提示出错
错误代码:Unhandled   exception   in   erp15.exe(KERENEL32.DLL):0xE06D7363:********)

========================================================================
【怎么用ADO连接SQL数据库就这么难啊!!在网上查了几天的资料都搞不出来
郁闷死了~~~~~~】谁可以给我个解决的办法啊!!!!!

------解决方案--------------------
第一:use是数据库关键字,用来做数据库名...没有这样用过。
第二:strSRC+= ";Database=use ";
strSRC+= "UserInfo "; //这个加进来干什么?相当于strSrc += ";Database=useUserInfo ",数据库不存在,去掉它。

------解决方案--------------------
1. 数据库操作一定要try..catch的, 否则判断不出什么错
2. 你的连接字串很奇怪,为什么不一次写完呢?
------解决方案--------------------
我也不确定,提供点线索吧:
1、m_pConn.CreateInstance,如果不成功,后面对m_pConn的使用就会出错,COM的出错通常以throw error的方式,所以一定要try - catch,所有对COM的调用都需要。
2、m_pConn如果已经open,再open的话会出错的,可以这样解决:
if (m_conn-> State)
m_conn-> Close();
然后再open。
3、做一个“*.udl”文件来检查连接字符串是否正确。
4、你这个过程好像什么都没做嘛……其目的是什么?
------解决方案--------------------
try
{
// 数据库操作,比如Open, Execute之类
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}

这是个简单的示例子. catch里面是你对该异常的处理
------解决方案--------------------
::CoInitialize(NULL);加在_ConnectionPtr m_pConn;之前就可以。
::CoUninitialize();加在函数退出之前就可以
------解决方案--------------------
AfxOleInit(); //initialize COM library

HRESULT hr;
try
{
hr = m_pConn.CreateInstance( "ADODB.Connection ");
if(hr == 0)
{
hr = m_pConn-> Open( "Provider=SQLDB;DateSource=你的计算机名/ip;Initial Catelog = use ", "用户名 ", "密码 ",adoModeUnkown);
if(hr == 0)
AfxMessageBox( "数据库连接成功 ");