Usuário com melhor resposta
Porque Fill no Load demora muito

Pergunta
-
Tenho em meu sistema um bindnavigator onde ele se preenche com os dados de uma tabela Empresa que é vinculada com outras tabelas., no evento Load do meu form percebo que quando chamo a janela o meu sistema demora muito para responder demorando o processo. sei que a quantidade de dados no meu banco naão é a causa porque existe outro sistema que trabalha com o mesmo banco e funciona rapidamente.
acredito que seja na forma de carregar meu banco, existe alguma forma de agilizar isso, alguem sabe que hora seria melhor fazer esse carregamento?
private void Form1_Load(object sender, EventArgs e)
{
this.vendedorTableAdapter.Fill(this.bancoDataSet.vendedor);
this.situacaoTableAdapter.Fill(this.bancoDataSet.situacao);
this.tipodeenderecoTableAdapter.Fill(this.bancoDataSet.tipodeendereco);
this.bairrosTableAdapter.Fill(this.bancoDataSet.Bairros);
this.cidadesTableAdapter.Fill(this.bancoDataSet.Cidades);
this.empresaTableAdapter.Fill(this.bancoDataSet.Empresa);
}
Respostas
-
Use o código q vc ta usando no load no evento shown, é só ir na aba propriedades do form e escolha o raiozinho q é os eventos
nele tem um evento chamado shown coloca o código q ta no evento load no evento shown
Att Edney Desenvolvedor C#, WindowsForms, Asp.Net WebForms, Asp.Net MVC- Marcado como Resposta Jeferson Medeiros segunda-feira, 13 de dezembro de 2010 14:58
Todas as Respostas
-
usa thread..
http://www.csharp-examples.net/create-new-thread/
e evita de usar select * from tabela no seu comando sql.. selecione somente os campos necessarios.. isso ajuda tb
se a resposta foi útil, classifique :)
ate mais,
Rodrigo Soria- Sugerido como Resposta Rodrigo Sória domingo, 12 de dezembro de 2010 02:35
-
-
-
-
-
cara.. thread e maneira de executar varios processos ao mesmo tempo.. ou seja vc aplicando thread na sua aplicacao de maneira correta vc poderia acessar o banco quantas vezes forem necessario.. detalhe isso somente com uma conexao aberta.. pq senao vai piorar mais ainda.. como eu disse aplicar de modo correto.
ou ate mesmo realizar o preenchimento dos grid de forma assincrona ou seja.. todos os grids ao mesmo tempo.. um outro detalhe. e o seguinte se esta aplicacao que vc esta desenvolvendo nao vai rodar em plataforma x64 e nem e pc de mais de um processador.. entao a thread nao terao tanto efeito de perfomace qnto num pc de varios processadores e plataforma x64
em relacao ao select.. e logico cara.. se vc utiliza na sua pagina somente o campo nome, sobrenome .. pq trazer a data de nascimento.. profissao.. idade.. traga somente o necessario.. se vc so precisa do nome e sobrenome.em faca o select assim.
select nome, sobrenome from tabela
se a resposta foi útil, classifique :)
ate mais,
Rodrigo Soria- Sugerido como Resposta Rodrigo Sória domingo, 12 de dezembro de 2010 02:35
-
Use o código q vc ta usando no load no evento shown, é só ir na aba propriedades do form e escolha o raiozinho q é os eventos
nele tem um evento chamado shown coloca o código q ta no evento load no evento shown
Att Edney Desenvolvedor C#, WindowsForms, Asp.Net WebForms, Asp.Net MVC- Marcado como Resposta Jeferson Medeiros segunda-feira, 13 de dezembro de 2010 14:58
-