rs.Open "select * from AA ", conn, adOpenKeyset, adLockBatchOptimistic
If Not rs.BOF Then rs.MoveFirst
Do While rs.EOF = False '将aa字段读入列表框中
c_client.AddItem rs("aa")
If Not rs.EOF Then rs.MoveNext
Loop
rs.Close这一段代码,假如我设置断点,在do while上,单步调试没问题,读入列表框的数据完整假如我不设置断点,直接执行,读入列表框的数据少了一部分
If Not rs.BOF Then rs.MoveFirst
Do While rs.EOF = False '将aa字段读入列表框中
c_client.AddItem rs("aa")
If Not rs.EOF Then rs.MoveNext
Loop
rs.Close这一段代码,假如我设置断点,在do while上,单步调试没问题,读入列表框的数据完整假如我不设置断点,直接执行,读入列表框的数据少了一部分
rs.Open "select * from AA ", conn, adOpenKeyset, adLockBatchOptimistic
If Not rs.BOF Then rs.MoveFirst
Do While rs.EOF = False '将aa字段读入列表框中
c_client.AddItem rs("aa")
doevents '虽然我也不明白怎么会这样,但是这样可能会解决你的问题
If Not rs.EOF Then rs.MoveNext
Loop
rs.Close
我碰到过listview显示问题,跟你描述的一样,自动排序导致。
c_client.Refresh
试试看。
With rs
.Open "select * from AA ", conn, adOpenKeyset, adLockBatchOptimistic
If not .bof then .MoveFirst
Do While not .EOF '将aa字段读入列表框中
c_client.AddItem .fields("aa").value & ""
.MoveNext
Loop
.Close
end with
那么改成这样试试:With rs
c_client.visible=false
.Open "select * from AA ", conn, adOpenKeyset, adLockBatchOptimistic
If not .bof then .MoveFirst
Do While not .EOF '将aa字段读入列表框中
c_client.AddItem .fields("aa").value & ""
.MoveNext
Loop
.Close
c_client.visible=true
end with