USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Abrindo Banco de dados
Souza
NOVA FATIMA
PR - BRASIL
ENUNCIADA !
Postada em 09/01/2005 15:19 hs            
pessoal estou com problema meu prog. esta muito lento para abrir o B dados ex.
Vou abrir banco de dados cliente e abro o banco para uma possivel consulta usando o combox mas esta me demorando muito para abrir as telas visando que a abertura vai no form principal da tela . entao ela demora para abrir por causa da abertura do B dados.
Meus relatorios tambem estao lentos uso DBGrid para visualizar relatorios e esta demorando para pesquisar 100 arquivos uns 15 minutos. EX.
Dim AreaTrabalho As Workspace
Dim query As String
Dim dyn As Dynaset
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & "Cadastro.Mdb", False, False)
query = "Select * From Cliente order by Codigo"
Set dyn = xxbco.CreateDynaset(query)
While Not dyn.EOF
ComBox.AddItem dyn("Codigo") & ""
dyn.MoveNext
Wend
xxbco.Close
   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 09/01/2005 16:20 hs            
Vou te dar duas dicas para otimizar seu acesso a dados:
 
1) na linha
ComBox.addItem dyn("Codigo") & ""
vc deve usar o indice do campo, no lugar do nome, assim:
ComBox.addItem dyn(0) & "" 'se o indice do campo for 0, senao muda
assim a pesquisa fica quase tres vezes mais rapida, pois nao precisa procurar o indice do campo, vc ja passou...
 
2) A segunda dica vc pode achar chata, mas é realidade... hoje em dia, nao se trabalha mais com DAO. Muda pra ADO que é mais rapido, mais confiavel, e ainda permite migrar para outras bases de dados futuramente... Alem do mais, com ADO vc pode abrir um Recordset somente para leitura sem ponteiros (muitissimo mais rapido que um RS normal...), ideal pra preencher listas, como esse combo...
 
Mas se vc me permite deixar mais uma sugestao, o comando OpenRecordset (acho que é assim que se chama) é mais rapido que o CreateDynaset... pode te ajudar...
 
Mas o problema que vc tem (15 minutos) com certeza nao tem nada a ver com isso tudo que eu disse... ou vc tem muito pouca memoria, ou tem algum outro processo impedindo que seu programa acesse os dados diretamente... ou entao a rede é muito lenta, etc... vale a pena vc dar uma olhada nessas caracteristicas fisicas...
 
Abraços...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página