100分,解决立即结贴,不够再加!_Recordset 与DBGrid控件动态绑定!怎么弄?请注意是DBGrid 不是DataDrid!!
如下代码:
    m_dbGrid.SetDataSource((LPUNKNOWN)NULL);
    m_dbGrid.SetDataSource((LPUNKNOWN)m_pRecordset);
    m_dbGrid.Refresh();
错误:不支持此接口!
郁闷,急呀,请多帮忙!!

解决方案 »

  1.   

    DBGrid需要Rdc控件。通过Rdc修改数据源
      

  2.   

    RDC控件既:REMOTEDATACONTROL可以和DBGRID一同插入工程中;设置RDC空间的Datasource或者将它于一数据库连接:设置CONNECTION型如(VC+SQL SERVER+ADO):DRIVER=SQL SERVER;SQL SERVER=YOURSQLSERVERNAME;DATABASE=the name of database in your sql server;然后设置其登陆数据库库的连接查询语句和登陆信息等;另外需要设置DBGRID的DATASOURCE为上面RDC控件的ID值;程序中用RDC.SETSQL(SQL)来更新其中显示的内容;
      

  3.   

    程序中我采用RDC和recordset.OPEN()同步执行的方法使两者数据保持一致;目前没有找到更好的方法;不知哪位大虾有更好的方法?
      

  4.   

    RDC没有OPEN方法啊,SETSQL后怎么执行呢?
    怎么禁止程序开始就连接打开数据库呢?
    recordset.Open();哪儿来的?是_Recordset 吗?
    那他怎么与RDC关联呢?
      

  5.   

    SETSQL后怎么执行呢?
    rdc.Refresh();可刷新试图
    是_Recordset
    那他怎么与RDC关联呢?
    我已说过,我用_Recordset.Open()方法使视图与记录集保持一致,此方法无法将二者关联起来!
      

  6.   

    DataGrid控件不能满足你的要求马?
      

  7.   

    DataGrid控件不能真接与_RecordsetPtr对象一起使用.你可以将DataGrid与AdoDC控件先邦在一起,然后动态更改AdoDC控件的RecordSource属性.这样AdoDC的数据源剧新的同时,与它邦在一起的DataGrid就也跟着更新了.
      

  8.   

    用 Microsoft DataGrid Control控件用法,这里采用ADO技术
             _RecordsetPtr m_pRS; // Recordset对象
    m_pRS.CreateInstance(__uuidof(Recordset)); // 创建实例
    CString strSQL;
    // 写SQL语句
    strSQL="select * from SALARY";//你要连接的表的名称
    // 打开Recordset对象
    try{
    m_pRS->Open(strSQL.AllocSysString(),
    pTheConn.GetInterfacePtr(),
    adOpenStatic,adLockOptimistic,adCmdUnknown);
    }
    catch(_com_error *e)
    {
    CString Error = e->ErrorMessage();
    AfxMessageBox(e->ErrorMessage());
    }
    catch(...)
    {
    AfxMessageBox("打开数据集对象出错!");
    }
    m_dbgrid
    //m_cDG.SetRefDataSource((LPUNKNOWN)m_pRS);
    m_pRS.Release();