首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb doevents使用的有关问题

2012-10-18 
vb doevents使用的问题在一个timer的事件里,执行一个比较耗时的SP,导致程序没响应据说用doevents可以,但不

vb doevents使用的问题
在一个timer的事件里,执行一个比较耗时的SP,导致程序没响应
据说用doevents可以,但不知具体如何用?

VB code
Private Sub t1_Timer()    adoCn.Open (sCnClient)    adoCn.CommandTimeout = 0    'DoEvents --> 加在这里没效果,执行SP期间程序没响应    adoCn.Execute ("exec sp名")    adoCn.Close    End Sub


[解决办法]
是没用。DoEvents 一般用在自己的循环中 ,以转让控制权。你的SP那是内部机制问题。
[解决办法]
1、把Execute ("exec sp名")放入另一线程,这个VB不太好做;
2、使用VB单元线程;
3、使用异步机制,如果你的 adoCn提供了异步方法;(注:若你的 adoCn是ADODB.Connection,则使用Execute("exec sp名",,adAsyncExecute)异步执行)

[解决办法]
1、把Execute ("exec sp名")放入另一线程,这个VB不太好做;
2、使用VB单元线程;
3、使用异步机制,如果你的 adoCn提供了异步方法;(注:若你的 adoCn是ADODB.Connection,则使用Execute("exec sp名",,adAsyncExecute)异步执行)

[解决办法]
对于存储过程,DoEvents是没有用的,就你这个问题,我觉得没有好的处理办法。

热点排行