我在程序设计时将DataGrid与ADO绑定在一起的,数据库用的是ACCESS。当我选中一行记录后,点击删除按钮后将这条记录从数据库中删除,我在程序里写了SetAllowDelete(!)了,但是还是没有删除!请各位高手指教!
                 多谢 !

解决方案 »

  1.   

    recordset.Delete();
    dbgrig.Refrash();
      

  2.   

    lxrlxr20021(艾文) 
    你没有搞错吧!我说的是在设计时的静态绑定!
      

  3.   

    http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1105
    参考一下,good luck
      

  4.   

    我现在关键是要对DataGrid控件进行操作,当我选中DataGrid中的一行时,单击删除按钮就要删除它!
    我继续顶!!!!顶!!!!!
      

  5.   

    to kyh77(曾一坤) 
    静态绑定一个样LPUNKNOWN CDataGrid::GetDataSource()
    {
    LPUNKNOWN result;
    InvokeHelper(0x2a, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL);
    return result;
    }
    m_pRecordset=(_RecordsetPtr)GetDataSource()
    m_pReocordset.Delete();
    m_pReocordset.Refresh();
    m_ShowDBGrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);具体的把控件加入工程,在ClassView看方法,试试就懂了?
      

  6.   

    to lxrlxr20021(艾文) 
        我不知道你是否懂得了我的意思,我是这样操作的:首先,我在窗体里加了这两个控件,然后在ADO右键的属性里设置好了数据源,然后我在DataGrid控件的右键属性里绑定了ADO。这样就可以显示数据了。当我想添加数据时直接把DataGrid控件的SetAllowAddNew()设置成true就可以了,但当我想删除一条记录的时候,我把DataGrid控件的SetAllowDelet()设置成true,怎么删除不了呢?
        你的意思是让我再加一个_RecordsetPtr指针,让它和DataGrid再绑定一次,是吗?我认为这样没必要,因为它添加记录时都不需要这样绑定,所以我认为应该还有别的方法!
      

  7.   

    对不起,cyk99(亢头)是我以前的帐户!
    我现在很急,希望大家关注!我还有一个问题:
      我试着用在一个按钮的事件里,用_ConnectionPtr和_RecordsetPtr指针动态的绑定DataGrid,但不知为什么当我单击四次这个按钮时DataGrid就没有数据显示了,再点击一下就出现的错误,不知道为什么,还请高手指教!代码如下:
    void CTele::OnAdd()
    {
    try
    {
    CString strTable = "select * from USERNAME";
    strTable.TrimRight(); m_pRecordset.CreateInstance(__uuidof(Recordset)); try
    {
    m_pRecordset->Open((LPCSTR)strTable, _variant_t((IDispatch *)m_pConnect,true), 
    adOpenDynamic, adLockOptimistic,
    adCmdText);
    }catch(_com_error e)
    {
    dboperroeflag=true;
    CString errormessage;
    errormessage.Format("数据库查询错误101!\r\n错误信息:%s",e.ErrorMessage());
    AfxMessageBox(errormessage); //显示错误信息 }
    if(!dboperroeflag)
    {
    m_dgrid.SetRefDataSource(NULL);
    m_dgrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
    m_dgrid.Refresh();
    UpdateData(FALSE);
    }
    }
    这只是显示的代码,添加记录的代码还没有写,为什么当我点击多次时就出Runtime error!错呢?有什么地方写错了吗?
      

  8.   

    zhaogaojian(蜜柑年成) 谢谢你,但我要的是ADO与DATAGRID绑定,能进行增、删、改操作的例子!
                  顶!!!!