重新做recordset对象,把它做成模块,然后重新调用模块
on error resume next
sql="select * from database"
rs.close
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs
我都是这样做的

解决方案 »

  1.   

    将DataGrid的DataSource重新给值
      

  2.   

    先adodc.recordset.update
    再adodc1.refresh就可以了....
      

  3.   

    正确答案!!!
    一般在编辑 DataaGrid 控件时,在完成数据输入后,要按回车键,这是很习惯的事,然而在将激活 DataGrid 控件的 AfterColEdit 事件,在这一事件中加入以下代码,强制数据记录到数据库中,问题就解决了。Adodc1.Recordset.Requery如果你觉有聚焦不合你的要求,可以让该单元重新聚焦。这是最简单,也是最有效的办法。以上各位的说法都是不正确的,比如使用datagrid.refresh 及adodc.recordset.update。这是不符合ADO 控件的基本原理的。
      

  4.   

    你有没有
    在datadgrid 中添加呀
    你可能只是在数据库中添加
    而没有在数据网格中添加
    试一下吧
      

  5.   

    Adodc1.Recordset.Requery
    Adodc1.refresh 
    绝对行,我就这么用