我在VC中用ADO已获得了记录集m_recordset_lms,然后用下面的语句来与CDataGrid控件m_datagrid_lms绑定,出现了致命的错误?请教该如何去做??绑定语句如下:
m_datagrid_lms.SetRefDataSource(m_recordset_lms);
m_datagrid_lms.Refresh();

解决方案 »

  1.   

    void CDgDlg::OnOK() 
    { //notes : call AfxOleInit in CXXApp::InitInstance()
    // I also add a line in stdafx.h 
    //#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
       try
       {
          _ConnectionPtr pConn("ADODB.Connection");
          _RecordsetPtr  pRst("ADODB.Recordset");
          pConn->Open("Provider=sqloledb;Data Source=Dell1;"
             "Initial Catalog=testdb;User Id=sa;Password=;",
             "", "", adConnectUnspecified);
          pRst->Open(
             "table1",
             _variant_t((IDispatch *) pConn, true),
             adOpenStatic,
             adLockReadOnly,
             adCmdTable);
      //CDataGrid m_grid; is a member of CDgDlg.
    m_grid.SetRefDataSource(pRst.Detach());
       }
       catch (_com_error &e)
       {
      char mybuf[10240];
          wsprintf(mybuf,"Description = '%s'\n", (char*) e.Description());
      AfxMessageBox(mybuf);
       }
    }
      

  2.   

    http://www.codeproject.com/useritems/msdatagrid.asp
      

  3.   

    1楼的太牛了,变成了MS MVP.恭喜恭喜。
    我想变成三颗星还要等多久啊?
      

  4.   

    我按http://www.codeproject.com/useritems/msdatagrid.asp中说做了可是m_datagrid_lms.SetRefDataSource( (LPUNKNOWN)m_recordset);这一句提示错误:行集不能作为标签。
      

  5.   

    这一句是关键!
    m_datagrid_lms->CursorLocation = adUseClient;