解决方案 »

  1.   

    用这个ADO类试试,最下面有调用例子。
    或者加异常捕获看是什么错误
    try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    CString strMsg;
    strMsg.Format(_T("错误描述:%s\n错误消息%s"), 
    (LPCTSTR)e.Description(),
    (LPCTSTR)e.ErrorMessage());
    AfxMessageBox(strMsg);
    }
      

  2.   

    我是这么干的,但我的存储过程里面木有insert,希望对你有用
    VARIANT index; index.vt = VT_I4; index.intVal = 0;
    while(m_Command->GetParameters()->GetCount()>0)
    m_Command->GetParameters()->raw_Delete(index);
    //_ParameterPtr m_Param;
    m_Param = m_Command->CreateParameter("",adInteger,adParamInput,sizeof(int),m_TarPage-1);
    m_Command->Parameters->Append(m_Param);
    m_Param = m_Command->CreateParameter("",adInteger,adParamInput,sizeof(int),m_SkinListCtrl.m_MaxLineInPage);
    m_Command->Parameters->Append(m_Param);
    m_Param = m_Command->CreateParameter("",adVarChar,adParamInput,m_str_Where_And_Diy_count.GetLength()+1,_variant_t(m_str_Where_And_Diy_count));
    m_Command->Parameters->Append(m_Param);
    m_Param = m_Command->CreateParameter("",adVarChar,adParamInput,m_str_Where_And_Diy_record.GetLength()+1,_variant_t(m_str_Where_And_Diy_record));
    m_Command->Parameters->Append(m_Param); if(m_SkinListCtrl.m_ppListRecord[0]->GetState()==1)
    m_SkinListCtrl.m_ppListRecord[0]->Close();
    m_SkinListCtrl.m_ppListRecord[0] = m_Command->Execute(NULL,NULL,adCmdStoredProc); // 获取记录集
      

  3.   

    你的代码里为什么不加try...catch