vb doevents使用的有关问题
vb doevents使用的问题在一个timer的事件里,执行一个比较耗时的SP,导致程序没响应据说用doevents可以,但不
vb doevents使用的问题
在一个timer的事件里,执行一个比较耗时的SP,导致程序没响应
据说用doevents可以,但不知具体如何用?
VB codePrivate 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是没有用的,就你这个问题,我觉得没有好的处理办法。