为何ADODC删除记录更新后,DataGrid不能实时更新的呢

谁为谁狂 2008-10-08 11:21:13

If xhText.Text = "" Then Exit Sub
OperateAccessDb "Select * From zfxhb Where xh_zxbzjl='" & xhText.Text & "'", 1
If redset.RecordCount > 0 Then
mdText.Text = redset.Fields("mdh_zxbzjl")
Else
Exit Sub
End If
OperateAccessDb "Insert into zxbzjl Select * From zfxhb Where xh_zxbzjl='" & xhText.Text & "'", 0
If OperateDbNoError = 1 Then
OperateAccessDb "Update zxbzjl Set sfsc_zxbzjl='0' Where xh_zxbzjl='" & xhText.Text & "'", 0
OperateAccessDb "Update mdb Set hjxs_mdb=hjxs_mdb + 1 Where mdh_mdb='" & mdText.Text & "'", 0

OperateAccessDb "Delete * From zfxhb Where xh_zxbzjl='" & xhText.Text & "'", 0

xhzfCmd.Enabled = False
xhhfCmd.Enabled = False

Adodc1.Refresh
Sleep 500 '多次试验必需要有延时500MS左右,然后再执行一次 ADODC1.Refresh DataGrid才更新
Adodc1.Refresh


我是将ADODC1与DataGrid绑定的。当ADODC1增加一条新记录时,DataGrid可以实时更新。但是当ADODC1删除一条记录时,DataGrid却不能实时更新了。必需ADODC1再执行一次刷新,而且中间还要有延时才能更新。用MSHFLexGrid控件也是一样。
...全文
186 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
y19373059 2008-10-16
  • 打赏
  • 举报
回复
好像是要执行一次ADODC1.Refresh先,但没必要等什么延迟吧
y19373059 2008-10-16
  • 打赏
  • 举报
回复
好像是要执行一次ADODC1.Refresh先,但没必要等什么延迟吧
lcsfxs 2008-10-16
  • 打赏
  • 举报
回复
用DATA做个延时对话框
坚之果 2008-10-16
  • 打赏
  • 举报
回复
就是延时问题,如果用DATAGRID的话在更新后,给个提示框,比如提示“更新成功”,然后再刷新DATAGRID就行了。要不就使用LISTVIEW,更新成功后,实时修改LISTVIEW上的相应行的数据,这样做的好处就是为了避免如果数据量很大的话,或者是超过DATAGRID一屏显示,那么一直刷新而引起用户反感。
ChinaITOldMan 2008-10-09
  • 打赏
  • 举报
回复
定时刷新DataGrid
dlpseeyou 2008-10-08
  • 打赏
  • 举报
回复
用存储过程更新吧,
DataGrid定时刷新
jhone99 2008-10-08
  • 打赏
  • 举报
回复
延时可能是数据库的问题
crazyxf 2008-10-08
  • 打赏
  • 举报
回复
access 就这样,没得办法,大家都是延迟解决
谁为谁狂 2008-10-08
  • 打赏
  • 举报
回复
我用的是ACCESS,而且记录数也不多的。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧