Usuário com melhor resposta
Manter conexão com SQL aberta

Pergunta
-
Bom dia,
Galera preciso de uma ajuda, possuo uma aplicação que ao abrir pede informações de login essas informações são validadas junto ao SQL Server.
Apos a validaçao inicia a form inicial da aplicação, através de uma conexão.
Gostaria de saber como manter essa conexão e utiliza-la para outros metodos, exemplo um insert ou delete, ou seja não ter que criar uma nova conexão com o banco.
Obs: a conexão estou deixando aberta e ao encerrar a aplicação ele fecha.
Grato
Respostas
-
Bom dia, Anderson
Geralmente na minha camada DAL eu utilizo
namespace manager.dal // Camada de Acesso { public sealed class con //Classe Publica Selada para conexão a base de dados { /// <summary> /// Metodo de acesso a dados Base /// </summary> /// <returns> Classe SqlConnection </returns> public static SqlConnection getCon() { //Criar objeto e Instanciar a conexão com a string que está no web.Config SqlConnection tmpcon = new SqlConnection("minhaconexao"); tmpcon.Open(); return tmpcon; } } }
Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.- Sugerido como Resposta Américo Arvani terça-feira, 23 de fevereiro de 2010 13:36
- Marcado como Resposta AndreAlvesLimaModerator sábado, 13 de março de 2010 20:04
-
OLá , Anderson
Por que Sealed?
Porque ela não pode ser herdada por nenhuma outra classe.
Como compartilhar a conexão para outros médotos?
No método da classe você herda a instancia da classe de conexão exemplo:
using (SqlConnection con = Dados.CON.getCon()) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = con; cmd.CommandText = SQLNomProc; if (tipCons == false) { cmd.CommandType = CommandType.StoredProcedure; int contar = 0; while (contar <= Parametros.Count - 1) { cmd.Parameters.AddWithValue(Parametros[contar].ToString(), Parametros[contar].Value); contar++; } } else { cmd.CommandType = CommandType.Text; } using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { da.Fill(dt); return dt; } } }
Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.- Marcado como Resposta AndreAlvesLimaModerator sábado, 13 de março de 2010 20:04
Todas as Respostas
-
Bom dia, Anderson
Geralmente na minha camada DAL eu utilizo
namespace manager.dal // Camada de Acesso { public sealed class con //Classe Publica Selada para conexão a base de dados { /// <summary> /// Metodo de acesso a dados Base /// </summary> /// <returns> Classe SqlConnection </returns> public static SqlConnection getCon() { //Criar objeto e Instanciar a conexão com a string que está no web.Config SqlConnection tmpcon = new SqlConnection("minhaconexao"); tmpcon.Open(); return tmpcon; } } }
Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.- Sugerido como Resposta Américo Arvani terça-feira, 23 de fevereiro de 2010 13:36
- Marcado como Resposta AndreAlvesLimaModerator sábado, 13 de março de 2010 20:04
-
Americo, obrigado pela resposta.
Mas dois pontos que não entendi sua classe como public sealed?
Eu tambem uso na minha classe de DAL a forma de conexão que me falou acima, porém o que eu não sei é, ao inves de criar uma conexão para cada metodo usar apenas uma.
Como eu posso compartilhar a conexão de um metodo da classe para outros?
Abraço -
OLá , Anderson
Por que Sealed?
Porque ela não pode ser herdada por nenhuma outra classe.
Como compartilhar a conexão para outros médotos?
No método da classe você herda a instancia da classe de conexão exemplo:
using (SqlConnection con = Dados.CON.getCon()) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = con; cmd.CommandText = SQLNomProc; if (tipCons == false) { cmd.CommandType = CommandType.StoredProcedure; int contar = 0; while (contar <= Parametros.Count - 1) { cmd.Parameters.AddWithValue(Parametros[contar].ToString(), Parametros[contar].Value); contar++; } } else { cmd.CommandType = CommandType.Text; } using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { da.Fill(dt); return dt; } } }
Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.- Marcado como Resposta AndreAlvesLimaModerator sábado, 13 de março de 2010 20:04