我的ADO控件出问题了???

hellen 2000-07-18 03:57:00
Mr Tyro: 真没想到这么快就回复了,先谢谢了!抱歉我的表述能力太差,没让你明白.
再详述如下:
question1:我的一个form中 datagrid 的datasource 是ado,ado 控件的recordsource是sql查询, connectionstring 是user DSN,我又对ado的recordsource中的表定义了一个dynaset型的recordset如rs1,运行中在timer事件中我对rs1中记录的字段值进行增加, 那么datagrid中的数据应随之变化,但我从access打开此表数据正确,but显示在screen上datagrid 中的数据值总比实际少一,而且返回上一级form时再次回来发现datagrid中的数据又正确了,我在timer事件的末尾加了datagrid的refrsh及ado 的refresh,还是不行. but 当我单步执行的时候发现datagrid 中的数据居然正确了?

question2: 和1差不多,做report的时候,report的datasouce 是ado,ado 设置如上,
对ado的recordsource中的表定义了一个dynaset型的recordset 如rs1,我把rs1中的数据经运算后放入另一个表中,又将ado的recordsource定义为此临时表的查询,出现问题是:
临时表中数据正确,但显示的是上一次 的结果,但是执行两次就正确,单步执行结果也正确.
我很恼火,思路正确,单步执行也对,就是运行起来总是满一拍.请 Mr tyro 指教,thank you!
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tyro 2000-07-18
  • 打赏
  • 举报
回复
我试了一下,我在timer事件的末尾加上
Adodc1.Refresh
DataGrid1.Refresh
没有问题呀!

你把源码贴点主要的出来研究一下吧!
amstar 2000-07-18
  • 打赏
  • 举报
回复
請將ado控件REFRESH 一次(或是REQUERY一次)
liyang 2000-07-18
  • 打赏
  • 举报
回复
你的cursorlocation是什么?如果是client,会慢一些。另外,单步执行对,就好办。说明数据库的纪录更新还没有反映到dbgrid上。最简单的方法,你手工做个延时:

dim dtmTemp as date
dtmtemp=now
do until abs(now-dtmtemp)>#0:0:1#
doevents
loop

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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