由于是基于上千万级别的查询,每次查询可能要花5、6分钟以上,此时vb程序几乎死机状态,用户也没法知道进度情况,请问有没有什么办法避免这种情况,甚至有没有可能使用进度条?谢谢
解决方案 »
- 求助:RegCreateKey新建子项不成功,返回值87?????
- 如何实现在容器(Picture上),按住CTRL 实现容器上控件的多选
- ADO.command对象如何设置参数,能在执行insert或update得到影响的行数
- 新近接到一个任务:为防止员工代打考勤卡,公司决定采用电脑自编考勤程序,总体思路已有,但唯一的问题焦点是...
- 关于读取Excel的问题!帮帮忙!
- 母亲,我是钓鱼岛!
- 登录权限判断
- 什么是EVB
- 请 Cooly(烦) 和 wani(失控的鼠标) 进来领分!!
- 请问如何调出屏保的"设置密码"和运行屏保时的密码输入框?(我在做屏保)
- 急!!!vb6多台打印机选择问题
- vb 年月的循环?求救!!!
1 首先要引用 MDAC 2.5 以上版本。使用 VB 6.0 以上平台。
2 声明变量如 Dim WithEvents rs As ADODB.Recordset
3 必须使用客户游标。
4 打开记录集时必须指定 adAsyncFetch Dim WithEvents rs As ADODB.RecordsetSet rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.Properties("Initial Fetch Size") = 2
.Properties("Background Fetch Size") = 4
.Open strSQL, cn, , , adAsyncFetch
End With事件:(当然你可以使用进度条)
Private Sub rs_FetchProgress(ByVal Progress As Long, ByVal MaxProgress As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
Debug.Print "Fetch: " & Progress & _
" Max: " & MaxProgress
End SubPrivate Sub rs_FetchComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
If adStatus <> adStatusOK Then
Debug.Print "Failed"
Debug.Print "Error: " & pError.Number & " - " & pError.Description
Else
Set DataGrid1.DataSource = pRecordset
Debug.Print "Done"
End If
End Sub