CONEXAO DB SQL

ARPRADO 21/09/2009 14:59:01
#323335
Me tire uma dúvida, seria mais dinâmico fazer a conexao com o banco no inicio do sistema ou em cada formulário que precisar acessar eu abro e depois fecho?
LEANDRO 21/09/2009 15:38:21
#323343
Faça um classe de conexão e estancie essa classe toda hora que for conectar.

Ou seja

Dim Conexao as new ClasseConexao

Conexao.Conectar()
Conexao.Desconectar()


Citação:

ClasseConexao
Metodo Conectar
Metodo Desconectar

JWCELYO 21/09/2009 18:50:06
#323367
o legal mesmo ARPRADO é que conecte-se no inicio do sistema e pernace conectado até o fechar do sistema
isso evitar que sua aplicação pare de responder e ta bem evita latencia na comunicação com servidor principalmente se conexão
for feita como WAN .

Public con As New MySqlConnection([Ô]server=localhost;user id=admin;password=123;database=geral[Ô])



Utilize essa metodo quando for se conectar com banco de dados
  If con.State = ConnectionState.Closed Then con.Open()
ARPRADO 21/09/2009 18:54:18
#323368
Leandro, vc tem algum exemplo de classe de conexao?
ARPRADO 22/09/2009 11:44:08
#323402
Citação:

ARPRADO escreveu:
Leandro, vc tem algum exemplo de classe de conexao?

EMERSONTADEU 22/09/2009 14:07:59
#323426
Resposta escolhida
Citação:

ARPRADO escreveu:
Me tire uma dúvida, seria mais dinâmico fazer a conexao com o banco no inicio do sistema ou em cada formulário que precisar acessar eu abro e depois fecho?



Se for pra fazer assim é preferível usar um Dataset 2.0 que vai tratar todas consistencias e se conectar apenas quando for estritamente necessário ...

Este tipo de operação funciona perfeitamente mesmo que sejam milhares de registros, mas é claro que vc deve impor algum tipo de filtro pois nenhum aplicativo está funcionando direito se retorna um [Ô]SELECT * FROM TABELA[Ô] para o usuário analisar.

O que precisa tomar cuidado é com as regras de concorrencia no caso de aplicativos multi-user ... mas mesmo se trabalhar conectado os problemas desta questão não serão muito diferentes.

Também é possível fazer uma mescla de tecnologias, carrega a tabela master num datatable e para detalhes usa querie e usa o evento positionchange do bindingsource para atualização, só que assim vc tem que fazer os updates na unha.

A classe ADO.NET tem um pool de conexões muito inteligente mas para utilizá-lo vc precisa passar exatamente a mesma string de conexão sempre que necessário ... em [Ô]best partices and pratices[Ô] a MS recomenda que vc crie uma constante e passe como parametro para cada os metodos que internamente abrem e fecham.

Não pense que isto quer dizer que a cada loop vc realmente abre e fecha uma conexão, o que acontece de fato é que quando o ADO.NET recebe a instrução de abrir uma nova conexão ele verifica se ela já não existe no cache antes.
Tópico encerrado , respostas não são mais permitidas