VB中的多线程编程

asuyr 2003-10-21 01:33:45
各位,我不知道我遇到的问题算不算是多线程的编程问题.
做过MIS的人可能知道.在连接数据库时,客户端暂时的会出现无响应.
这是因为程序在连接数据库,或是在数据库执行存储过程,更新,出现在暂时时延.
我的问题.如何在程行执得这些操作的时候.制作一个等待界面.即用户可以清楚的知道程序是否在运行.
如当执行
Adocn.OPEN
时出现一个等待的窗体.
或是

adocmd.execut时
出现一个正在执行的窗体.
...全文
120 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
doudou8090 2003-10-22
  • 打赏
  • 举报
回复
意cuizm(射天狼)最重要的是用Doevents语句~~
yijiansong 2003-10-22
  • 打赏
  • 举报
回复
同意楼上的
守城小轩 2003-10-22
  • 打赏
  • 举报
回复
'显示请稍候......
set rs=AdoCmd.Execute
'这里加判断语句
if rs<>nothing then '关闭请稍候......
shisanjin 2003-10-22
  • 打赏
  • 举报
回复
Up@Up.cn
胖河马 2003-10-22
  • 打赏
  • 举报
回复
这里不应该使用Doevents
vb6也无法创建可以稳定运行的线程
ado提供了异步执行的方法,执行完成后会触发Connection的ExecuteComplete事件,比如:

Dim WithEvents AdoCN As Connection

AdoCmd.ActiveConnection = AdoCN
AdoCmd.CommandText = StrProce
AdoCmd.CommandType = adCmdStoredProc
AdoCmd.Execute ,,adAsyncExecute

Private Sub AdoCN_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
MsgBox "执行完成"
End Sub


dingzhaofeng 2003-10-21
  • 打赏
  • 举报
回复
mark!
since1990 2003-10-21
  • 打赏
  • 举报
回复
up
asuyr 2003-10-21
  • 打赏
  • 举报
回复
刚刚看了doevents的介绍.个人认为这个函数不适合.
见如下代码.
AdoCmd.ActiveConnection = AdoCN
AdoCmd.CommandText = StrProce
AdoCmd.CommandType = adCmdStoredProc
AdoCmd.Execute
当执行AdoCmd.Execute 时,
程序调用存储过程.
如果需要在此时调用等待界面的话.该如何使用DOEVNETS呢.
在AdoCmd.Execute前,还是后呢.
asuyr 2003-10-21
  • 打赏
  • 举报
回复
什么是Doevents事件.
守城小轩 2003-10-21
  • 打赏
  • 举报
回复
同意cuizm(射天狼)最重要的是用Doevents语句~~
guoyx 2003-10-21
  • 打赏
  • 举报
回复
vb多线程不好用、不稳定
射天狼 2003-10-21
  • 打赏
  • 举报
回复
根本不用多线程,打开一个提示窗口就行了,最重要的是用Doevents语句~~

7,762

社区成员

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

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