我是刚刚学VC数据库,使用ADO技术来开发数据库的,基于对话框程序,一个编辑框,一个按钮,一个ADODC控件,一个DataGrid控件,当单击按钮时,数据写到数据库中,但是无法在DataGrid中及时更新,希望大侠们指点迷津,最好能贴代码!!谢谢!

解决方案 »

  1.   

    我也是新手,不过在数据添加完后,加一句m_ado.refresh()应该可以了吧
      

  2.   

    CString sql;  //往表格里添加记录。添加多个数据时用,隔开并且'%s'标记。
    sql.Format("INSERT INTO PrintCode(Type,TimeDate) VALUES('%s','%s')",m_strType,strTimeDate);
    _bstr_t sql_ = sql;
    try
    {
    m_rst = m_conn->Execute(sql_,&RecordsAffected,adCmdText);//执行Execute函数后,返回一个_Recordset的对象的引用。
    }
    catch(_com_error e)
    {
    AfxMessageBox(e.ErrorMessage());
    return ;
    }
    //m_rst->Update();
    //m_ctrlDataGrid.SetRefDataSource(NULL); 
          //  m_ctrlDataGrid.SetRefDataSource((LPUNKNOWN)m_rst); 
    m_ctrlDataGrid.Refresh();
            CoUninitialize();
    MessageBox("添加数据成功!");
    加了Refre();还是不行啊
      

  3.   

    以为你用的ado控件直接操作数据库,完了刷新ado控件就可以了。不过看你的代码,m_ctrlDataGrid.SetRefDataSource((LPUNKNOWN)m_rst);中m_rst还是执行的insert语句啊,应该在insert,update完,将m_rst换成想要查询的select语句吧。