Muito obrigado, Estas dicas sempre valem; Do fundo do cora��o, muito obrigado. >From: [EMAIL PROTECTED] >Reply-To: [EMAIL PROTECTED] >To: [EMAIL PROTECTED] >Subject: RES: [sqlwin] Proposta para cMeter >Date: Tue, 20 Mar 2001 17:29:31 -0300 > >Prezado amigo, > > Trabalho com cMeter na seguinte maneira. N�o sei se � o que vc >precisa mas � bem facil. >Preparo o Select > >set nTotal = 0 >set nPasso = 0 >call SqlPrepareAndExecute( hSql, '..... ') >call SqlGetResultSetCount( hSql, nTotal ) = pego o total de registros no >meu >select >if nTotal > 0 > set nTotal = 100/nTotal >while SqlFetchNext( hSql, nFetch ) > set nPasso = nPasso + nTotal > .... ( procedimentos intermedi�rios ) > call VisWinSetMeter( cc1, nPasso ) > >� um processo simples mas funciona. >Espero ter ajudado. > >Ricardo > >-----Mensagem original----- >De: FRANCISCO FRANK [mailto:[EMAIL PROTECTED]] >Enviada em: Ter�a-feira, 20 de Mar�o de 2001 16:47 >Para: [EMAIL PROTECTED] >Assunto: [sqlwin] Proposta para cMeter > > >Prezados colegas, > >A alguns dias solicitei ao grupo, ajuda sobre cMeter. N�o me lembro quem >foi > >mas tenho certeza q um dos colegas tinha o mesmo problema que eu. Sendo >assim tenho a seguinte proposta enviada pelo professor Lairton: >[EMAIL PROTECTED] > >Sobre esta sua d�vida com rela��o ao objeto cMeter numa consulta a 60 mil >registros ... voc� pode utiliz�-lo sem problemas, posso at� montar um >exemplo e enviar-lhe, mas � preciso que seja entendido o mecanismo de >consulta. >Vamos supor que voc� execute sua consulta assim : > >Call SqlPrepareAndExecute ( hSql , sConsulta ) (1) >While SqlFetchNext ( hSql , nRet ) (2) > Call fAddLinhaDoResultSetNumaTableWindow( ) (3) > >Acontece que normalmente a maior parte do tempo gasto pra executar sua >consulta � gasto na instru��o presente na linha (1). >Imagino que mais de 50% do tempo ser� gasto na execu��o desta linha. O la�o >iniciado na linha (2) representa pouco tempo gasto em rela��o a linha (1), >e >a linha (3) � a que � respons�vel em copiar a linha do result set para a >tela. > >O cMeter, ao ser iniciado, precisa ter bem definido os seus limites, ou >seja, o valor inicial (que normalmente � 0) e o valor final, que poderia >ser >o n�mero de linhas que sua consulta retornou. Mas isso n�o corresponde a >realidade, pois imagine que sua consulta demore 1 minuto pra trazer 1 linha >!!! > >� preciso ter conhecimento deste detalhe para n�o se assustar com o >resultado. Imagine uma consulta dessas sendo executada pelo seu sistema ... >O metter mostra 1% e passa assim quase 1 minuto , parado, d� at� a >impress�o >de que a m�quina travou n�. E posteriormente, quando as poucas linhas >retornarem a barra do cMeter chegar� ao 100% rapidamente. > >Com o cMeter poderia ser algo parecido com ..... > >Call objMeter.Init ( ) >(1) >Call objMeter.SetLimiteInicial( 0 ) (2) >Call SqlPrepareAndExecute ( hSql , sConsulta ) (3) >Call SqlGetResultSetCount( hSql , nQtd ) (4) >Call objMeter.SetLimiteFinal( nQtd ) (5) >Set nLinha = 0 >(6) >While SqlFetchNext ( hSql , nRet ) (7) > Call objMeter.SetStatusAtual( nLinha ) (8) > Set nLinha = nLinha + 1 (9) > Call fAddLinhaDoResultSetNumaTableWindow( ) (10) > >a linha 2 define que o objeto meter iniciar� sua contagem no valor zero. >A linha 4 conta quantas linhas retornaram na consulta, isso � uma tarefa >demorada. >A linha 5 define que o objeto meter encerrar� sua contagem no valor em >nQtd. >E a linha 8 mostra o percentual atual de execu��o. > >Em consultas onde perde-se pouco tempo na linha 3 e muito tempo na >recupera��o destas linhas ( linha 7 e 10 ) o meter � ideal. > >_________________________________________________________________________ >Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. > >============================================== >Lista de Centura SQLWindows >Administrador : [EMAIL PROTECTED] >[ http://www.centuraexplorer.com ] >Para sair desta lista mande mensagem para: >[EMAIL PROTECTED] sem nada no Subject e >com o comando a seguir no corpo da msg: >"unsubscribe sqlwin" (sem as aspas) >============================================== >=============================================Lista de Centura SQLWindows >Administrador : [EMAIL PROTECTED] >[ http://www.centuraexplorer.com ] >Para sair desta lista mande mensagem para: >[EMAIL PROTECTED] sem nada no Subject e >com o comando a seguir no corpo da msg: >"unsubscribe sqlwin" (sem as aspas) >============================================= _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. ============================================== Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) ==============================================
