CoInitialize(NULL); _ConnectionPtr m_connection;
_RecordsetPtr m_recordset;
_CommandPtr m_command; HRESULT hr;
_bstr_t source("Driver={SQL Server};Server=20090615-1415;\
  Uid=sa;Pwd=yu2808487;Database=master"); _bstr_t user("");
_bstr_t pwd("");
try{
hr = m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr = m_connection->Open(source,"","",16);

if(SUCCEEDED(hr))
hr = m_recordset.CreateInstance(_uuidof(Recordset));
if(SUCCEEDED(hr))
  m_fConnected = TRUE;
else 
m_fConnected = FALSE;
}
catch (_com_error &e){
   MessageBox(e.ErrorMessage()); 
   m_fConnected = FALSE;
  }
if(!m_fConnected)
MessageBox("ADO数据源初始化失败!");
else  
{
if(m_connection->State)MessageBox("connect really open");

_variant_t rec;

COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);m_connection->Execute(_bstr_t(strSQL),&vtOptional,-1);   //调试运行到这一步就无法进行下一步  为什么m_connection.Release();
AfxMessageBox("ok!");
}

解决方案 »

  1.   

    没的看到你写的SQL语句
    你的SQL语句看看有没有问题
    你在查询分析器里面运行一下看看
    有没有错
      

  2.   

    CoInitialize(NULL);_ConnectionPtr m_connection;
    _RecordsetPtr m_recordset;
    _CommandPtr m_command;HRESULT hr;
    _bstr_t source("Driver={SQL Server};Server=20090615-1415;\
      Uid=sa;Pwd=yu2808487;Database=master");_bstr_t user("");
    _bstr_t pwd("");
    try{
    hr = m_connection.CreateInstance(_uuidof(Connection));
    if(SUCCEEDED(hr))
    hr = m_connection->Open(source,"","",16);if(!SUCCEEDED(hr))
       MessageBox("ADO数据源初始化失败!");
    else   
    {
       MessageBox("connect really open");
       long vtOptional = 0;
       m_connection->Execute(_bstr_t(strSQL),&vtOptional,adCmdText); //调试运行到这一步就无法进行下一步 为什么m_connection.Release();
    AfxMessageBox("ok!");
    }
    catch (_com_error &e){
    MessageBox(e.ErrorMessage());  
    m_fConnected = FALSE;
    }

    这样试试看
      

  3.   

    无法执行到下一步是什么情况?程序退出还是报错??
    在查询分析器运行你的sql语句,看看能否执行成功先...
      

  4.   

    楼上的,如果SQL写错,就肯定错误,是不?try捕获不到啊。