CONEXAO ABERTA EM VARIOS WINDOWS FORM
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?
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?
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.
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.
Obrigado galera. Nao sabia que nao era aconselhavel. Vou seguir a dica de voces.
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 ?
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 ?
Verifique nos projetos que eu enviei, tem um que é um gerador de classes crud, use-o para ter uma noção do que fazer...
Vou dar uma olhada
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.
Teria como voce me dar uma ajuda apenas na teoria, ai eu me viro aqui na hora de colocar em pratica meu raciocinio.
A primeira coisa a aprender é a POO
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.
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