_RecordsetPtr sp_rs(__uuidof(Recordset));
sp_rs.AddRef();
sp_rs->Fields->Append("column1",adBSTR,20,adFldIsNullable,vtMissing);  //增加字段
sp_rs->Open(vtMissing,vtMissing,adOpenDynamic,adLockOptimistic,-1);   //无连接
sp_rs->AddNew();                                                     //插入记录
sp_rs->Fields->GetItem("column1")->PutValue("aaaa");                 //赋值草草写的一段代码,大概意思没错。

解决方案 »

  1.   

    调试报错“Unhandled exception in debug.exe(KETNEL.DLL):0xE06D7363:Microsoft C++ Exception”。
      

  2.   

    在MSDN中搜寻Atl2Ado,你会找到一个例子。我手边也有一段代码,希望能对你有帮助。
    STDMETHODIMP CSimpleAdo::GetRecordset(_Recordset **pRecordset, BSTR bstrSQL)
    {
       _RecordsetPtr pSet;
       try{
    _variant_t varTemp;
            // add a record set
    pSet.CreateInstance(__uuidof(Recordset));
    pSet->Fields->Append("Name",adVarChar,255,adFldIsNullable,varTemp);  
    pSet->Fields->Append("Title",adVarChar,255,adFldIsNullable,varTemp);  
    pSet->Fields->Append("Address",adVarChar,255,adFldIsNullable,varTemp);  
    pSet->Fields->Append("Phone",adVarChar,255,adFldIsNullable,varTemp);  
    pSet->Fields->Append("Employee ID",adVarChar,255,adFldIsNullable,varTemp);  
    pSet->CursorLocation = adUseClient;
    pSet->Open( _variant_t(DISP_E_PARAMNOTFOUND, VT_ERROR),
                _variant_t(DISP_E_PARAMNOTFOUND, VT_ERROR),
                adOpenStatic,
                adLockBatchOptimistic,
                adCmdUnspecified);
           pSet->AddNew();       // fill in the recordset

    pSet->PutCollect(_variant_t("Name"), _variant_t("GTEC"));
    pSet->PutCollect(_variant_t("Title"), _variant_t("Support Center"));
    pSet->PutCollect(_variant_t("Address"), _variant_t("ShangHai"));
    pSet->PutCollect(_variant_t("Phone"), _variant_t("02164692288"));
    pSet->PutCollect(_variant_t("Employee ID"), _variant_t("12345")); pSet->Update(); 

       }
       catch(const _com_error &e)
    {
      // throw;
      return e.WCodeToHRESULT (e.WCode ());
    }
          
       *pRecordset=pSet;
       pSet->AddRef ();
       return S_OK;
    }
    微软亚洲技术中心 VC技术支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款 (http://www.csdn.net/microsoft/terms.shtm)。
      

  3.   

    to acptvc(微软全球技术中心 VC技术支持)
    如果我用 *pRecordet = pSet.Detach()
    还用pSet->addref() 吗?
    detach 之后,pset 不会release 接口了吧