大家好:
我用一个ado控件连接数据库与DataGrid,现在要实时刷新datagrid中的信息,不用datagrid.refresh,因为没有效果.
我采用刷新ado的方法,代码如下:
当我单步执行时,没问题.连续运行就提示"无法为更新定位行,一些值可能已在最后一次读取后已更改".
问题出在Adodc1.Refresh上,如果单步执行,速度不时很快,就没问题.
用更新ado的方法怎么解决这个问题呢??? Private Sub Command1_Click()
Do While Adodc1.RecordSet.EOF = False
Adodc1.RecordSet.Fields("Status").Value = 1
Adodc1.RecordSet.MoveNext
Adodc1.Refresh
Loop
Unload Me
End Sub
我用一个ado控件连接数据库与DataGrid,现在要实时刷新datagrid中的信息,不用datagrid.refresh,因为没有效果.
我采用刷新ado的方法,代码如下:
当我单步执行时,没问题.连续运行就提示"无法为更新定位行,一些值可能已在最后一次读取后已更改".
问题出在Adodc1.Refresh上,如果单步执行,速度不时很快,就没问题.
用更新ado的方法怎么解决这个问题呢??? Private Sub Command1_Click()
Do While Adodc1.RecordSet.EOF = False
Adodc1.RecordSet.Fields("Status").Value = 1
Adodc1.RecordSet.MoveNext
Adodc1.Refresh
Loop
Unload Me
End Sub
Do While Adodc1.RecordSet.EOF = False
Adodc1.RecordSet.Fields("Status").Value = 1
Adodc1.RecordSet.MoveNext
Adodc1.Refresh
DoEvents
Loop
Unload Me
End Sub 改成这样试试看
大家来看看
是不是用了Adodc1.RecordSet.MoveNext ,后面再用Adodc1.Refresh不行啊?
Do While Adodc1.RecordSet.EOF = False
Adodc1.RecordSet.Fields("Status").Value = 1
Adodc1.RecordSet.Update
Adodc1.RecordSet.MoveNext
Adodc1.Refresh
Loop
Unload Me
End Sub
这个提示在其它地方也出现了,都是针对adodc.RecordSet.MoveNextde的
为什么会这样?这条语句的使用和adodc的更新需要注意哪些问题吗?
大家来看看,帮帮忙
谢谢