我的程序是这么写的
CString sqlSen,strCurItem;
sqlSen="update srvListMore set srvName='";
sqlSen+=sysinfor->computeName;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="srvPar='";
sqlSen+=sysinfor->zoneName;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="MAC Address='";
sqlSen+=sysinfor->macAddress;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="OS Version='";
sqlSen+=sysinfor->lpOS; 
sqlSen+="'";
sqlSen+=",";
    sqlSen+="connMethod='";
sqlSen+=strconnmode;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="Proxy IP='";
sqlSen+=sysinfor->proxyInfo;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="IP='";
sqlSen+=sysinfor->innerIP;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="Outer IP='";
sqlSen+=sysinfor->outerIP;
sqlSen+="'";
sqlSen+=",";
    sqlSen+="Last activetime='";
sqlSen+=s;
sqlSen+="'";
sqlSen+="where globalId =";
sqlSen+=strId;
try
{
HRESULT hRes;
hRes=m_pTreeRecordset.CreateInstance(_T("ADODB.Recordset"));
if(SUCCEEDED(hRes))
{
hRes = m_pTreeRecordset->Open((LPTSTR)(LPCTSTR)sqlSen,
        _variant_t((IDispatch *)(((CTestCardApp*)AfxGetApp())->m_pTreeConn),true),
    adOpenDynamic,adLockPessimistic,adCmdText);
} //说明: 完成打开数据表操作
if(SUCCEEDED(hRes))
{
return 1 ;
} }
catch (_com_error e)
{
MessageBox("Modify Database failed") ; 
return 0 ;
}
return 0 ;
可是老是出错,我不知道是什么原因,请知道的大侠说一下,分不够可以再加的

解决方案 »

  1.   

    没见你执行修改操作呀????看看《ADO开发指南》。
      

  2.   

    hRes = m_pTreeRecordset->Open((LPTSTR)(LPCTSTR)sqlSen, 
            _variant_t((IDispatch *)(((CTestCardApp*)AfxGetApp())->m_pTreeConn),true), 
        adOpenDynamic,adLockPessimistic,adCmdText); 
    这个不是吗?
      

  3.   

    "update srvListMore set srvName='FIGO',srvPar='chengdou',MAC Address='0C29E33BFB',OS Version='Microsoft Windows XP Service Pack 2',connMethod='0',Proxy IP='',IP='192.168.1.201',Outer IP='',Last activetime='200807300247'where globalId=702408686"
    他说我的语句是错误的
    我跟了下,我的语句是这样的
    请问有什么错误呢?
    在数据库中除了globalId的类型为int
    其他的全为文本的
      

  4.   

    把你代码中的:
    catch (_com_error e) 

    MessageBox("Modify Database failed") ; 
    return 0 ; 

    改成:
    catch(_com_error &e) 

        AfxMessageBox(e.Description());
        return 0 ; 

    看看能否捕获异常信息??