如何在ATL中调用ADO往SQL2000数据库里插入一条记录,
那位大虾能给我点实例代码,感激不尽!
我是这样做的:
_RecordsetPtr pRs;
_ConnectionPtr pConn;
pConn.CreateInstance(__uuidof(Connection));
_bstr_t strConnect="DSN=ji;UID=sa;PWD=2222;";
//pConn->Open(strConnect,"sa","2222",-1);
TCHAR buffer[512];
wsprintf(buffer,_T("insert DN_Infobidding (DNSiteID,OriginalText,DNNO,InfobiddingSign,InfobiddingCert,TimeStampData,NcertData,TimeFromTStp) values (%s,%s,%s,%s,%s,%s,%s,%s)"),m_DNSiteID.m_str,m_OriginalText.m_str,m_DNDO.m_str,m_InfobiddingSign.m_str,m_InfobiddingCert.m_str,m_Stamp.m_str,m_NcertDate.m_str,m_TimeFrom.m_str);
_bstr_t SQL=buffer;
    CComVariant ret;
//pRs=pConn->Execute(SQL,&ret,-1);
pRs->Open(SQL,strConnect,adOpenDynamic,adLockOptimistic,-1);
/*if(ret.lVal!=0)
{
erstr+=L"The record has been inserted.\n";
pRs.Release();
pConn.Release();
return 0;
}*/

解决方案 »

  1.   

    你可以在CSDN搜索一下关于"ADO"的贴子下面是Microsoft关于ADO的例子
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcmdexecute.asp
      

  2.   

    pRs=pConn->Execute(SQL,&ret,-1);这种写法的话 只要定义个_RecordsetPtr的空指针就好了
    但是pRs->Open(SQL,strConnect,adOpenDynamic,adLockOptimistic,-1);这样写就要对_Recordset
    做实例化操作 例如
    _RecordsetPtr pRs;//这样定义只是返回了一个NULL指针
    pRs.CreateInstance(__uuidof(Connection)); 或者是
    _RecordsetPtr pRs(__uuidof(Connection));