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

adocmd.execut时 
出现一个正在执行的窗体.

解决方案 »

  1.   

    根本不用多线程,打开一个提示窗口就行了,最重要的是用Doevents语句~~
      

  2.   

    同意cuizm(射天狼)最重要的是用Doevents语句~~
      

  3.   

    刚刚看了doevents的介绍.个人认为这个函数不适合.
    见如下代码.
    AdoCmd.ActiveConnection = AdoCN
    AdoCmd.CommandText = StrProce
    AdoCmd.CommandType = adCmdStoredProc
    AdoCmd.Execute
    当执行AdoCmd.Execute 时,
    程序调用存储过程.
    如果需要在此时调用等待界面的话.该如何使用DOEVNETS呢.
    在AdoCmd.Execute前,还是后呢.
      

  4.   

    意cuizm(射天狼)最重要的是用Doevents语句~~
      

  5.   

    这里不应该使用Doevents
    vb6也无法创建可以稳定运行的线程
    ado提供了异步执行的方法,执行完成后会触发Connection的ExecuteComplete事件,比如:Dim WithEvents AdoCN As ConnectionAdoCmd.ActiveConnection = AdoCN
    AdoCmd.CommandText = StrProce
    AdoCmd.CommandType = adCmdStoredProc
    AdoCmd.Execute ,,adAsyncExecutePrivate 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
      

  6.   

    '显示请稍候......
    set rs=AdoCmd.Execute
    '这里加判断语句
    if rs<>nothing then '关闭请稍候......