CONEXAO ABERTA EM VARIOS WINDOWS FORM

FBGSYSTEMS 05/09/2012 15:45:49
#409229
Como deixo a conexao aberta em vários windows form?
Tipo uma variavel global.

No vb6 eu fazia assim

Declarava a variavel como global, abria a conexao em um módulo
E depois usava a mesma variavel para executar as operações no bd.

Abri a conexao atraves de uma classe, ao load do form, porem este é o menu, quero chamar um segundo form, e nao quero precisar instanciar a classe nvoamente.
Tem como?
KERPLUNK 05/09/2012 17:00:45
#409244
Bem, em primeiro lugar, esse tipo de approach, não é muito indicado, visto o consumo de recursos desnecessários. O melhor seria abrir a conexão, executar consulta, popular classes com retorno da consulta e retornar as classes. Mas se você realmente quer usar dessa maneira, crie uma propriedade no form principal com o tipo [Ô]SqlConnection[Ô], ou seja lá qual o banco que esteja usando. Nos forms subsequentes, utilize essa propriedade do form principal como consulta. é quase a mesma coisa, só que ao invés de usar uma variável pública para armazenar a conexão, você terá uma propriedade no form principal que conterá a conexão.
OCELOT 06/09/2012 08:51:08
#409257
Não faça isso, abra, use e feche a conexão onde você precisar. Por baixo dos panos o ADO.Net vai cuidar de reusar conexões sempre que possível, desde que você sempre as feche corretamente.
FBGSYSTEMS 12/09/2012 09:10:42
#409477
Obrigado galera. Nao sabia que nao era aconselhavel. Vou seguir a dica de voces.
FBGSYSTEMS 19/06/2013 18:29:05
#424989
Boa noite pessoal.
Só agora pude voltar a mexer no C#.

Seguindo a dica de voces, como eu poderia colocar em uma classe as operações do banco de dados.
A cada operação no banco de dados eu preciso abrir a conexao e fechar ? Mas imaginem que eu tenho um formulario onde tem um botao que chama outro formulario de pesquisa de produto por exemplo. Vai ficar duas conexoes abertas?



Estou pensando em fazer uma classe com a conexao ao banco de dados, e dentro do mesmo arquivo colocar alguns metodos como, insert, update, select etc.
Entao a cada operação eu precisaria ver se a conexao ja nao esta aberta para utilizar ela para as operações.

Alguem pode me dar uma ajuda qto a isso ?
KERPLUNK 19/06/2013 18:37:05
#424991
Verifique nos projetos que eu enviei, tem um que é um gerador de classes crud, use-o para ter uma noção do que fazer...
FBGSYSTEMS 20/06/2013 15:17:31
#425033
Vou dar uma olhada
FBGSYSTEMS 20/06/2013 15:23:55
#425034
KERPLUNK, infelizmnte nao entendo o suficiente do C# para entenr totalmente seu código, e nem para corrigir possiveis bugs.
Teria como voce me dar uma ajuda apenas na teoria, ai eu me viro aqui na hora de colocar em pratica meu raciocinio.
KERPLUNK 20/06/2013 16:09:02
#425037
A primeira coisa a aprender é a POO
FBGSYSTEMS 20/06/2013 16:19:50
#425038
KERPLUNK, me desculpe.
Mas infelizmente nao disponho de tempo para aprender todo o conceito da POO, te garanto que consigo me virar com o pouco que sei.
Como neste tópico voce e o outro usuário me ajudaram a nao fazer do jeito que sou acostumado a fazer no VB6, me surgiu a duvida que nao consegui encontrar tão facilmente, de como fazer isto no C#.
Se puder me dar esta força agradeço muito, se não achar justo ou necessário, agradeço mesmo assim por ter respondido o tópico.
Tópico encerrado , respostas não são mais permitidas