Connect()
{
  AfxDaoInit();
  g_Db.Open("",false,false,"odbc;DSN=sy_odbc;UID=sy;PWD=sy")      
  g_rdSet.m_pDatabase=&g_Db;
}
DisConnect()
{
  if(g_Db.IsOpen())
  {
      g_Db.Close();
      g_rdSet.m_pDatabase=NULL;
      return true;
  }
  AfxDaoTerm();
}

解决方案 »

  1.   

    这是我客户端程序:
    CLSID clsid;
    LPCLASSFACTORY  pClf;
    LPUNKNOWN pUnk;
    IConn *pConn;
    HRESULT hr;
    if((hr = ::CLSIDFromProgID(L"Server.InfoServe",&clsid))
    != NOERROR) {
       MessageBox("get error",NULL,MB_OK);
       return;
    }
    if((hr = ::CoGetClassObject(clsid,CLSCTX_INPROC_SERVER
        ,NULL,IID_IClassFactory,(void **)&pClf)) != NOERROR){
        MessageBox("error",NULL,MB_OK);
       return;
    }
    pClf->CreateInstance(NULL,IID_IUnknown,(void **)&pUnk);
    pUnk->QueryInterface(IID_IConn,(void **)&pConn);
    pConn->Connect();
    ....      
    pConn->Close();
    pClf->Release();
    pUnk->Release();
    pConn->Release();
    我找你说的做了,但不好用,还是非法操作!
      

  2.   

    pConn->Close();就是pConn->DisConnect();