Multiplas conexoes
17/05/2012
0
Olá Galera
Criei essa classe com ajuda de amigos aqui do fórum e está funcionando tudo ok ate aqui. Porem-me Corrigan se eu estiver errado.
Ao meu entender eu deveria ter uma classe separada para a conexão e essa classe deveria verificar-se já existe um conexão em aberto evitando assim múltiplas conexões.
Seria esse o caminho ou nos webform eu fecho a conexão após trazer o resultado ?
public class modelo
{
private string _Conexao ;
private SqlDataSource _Sql;
public modelo()
{
_Conexao = Data Source=meubanco.sytes.net;Initial Catalog=dbjava;Persist Security Info=True;User ID=UserNet;Password=minhaSenha;
_Sql = new SqlDataSource();
_Sql.ConnectionString = _Conexao;
}
public DataTable Selecionar(string sql)
{
SqlConnection conexao = new SqlConnection(_Conexao);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}
Criei essa classe com ajuda de amigos aqui do fórum e está funcionando tudo ok ate aqui. Porem-me Corrigan se eu estiver errado.
Ao meu entender eu deveria ter uma classe separada para a conexão e essa classe deveria verificar-se já existe um conexão em aberto evitando assim múltiplas conexões.
Seria esse o caminho ou nos webform eu fecho a conexão após trazer o resultado ?
public class modelo
{
private string _Conexao ;
private SqlDataSource _Sql;
public modelo()
{
_Conexao = Data Source=meubanco.sytes.net;Initial Catalog=dbjava;Persist Security Info=True;User ID=UserNet;Password=minhaSenha;
_Sql = new SqlDataSource();
_Sql.ConnectionString = _Conexao;
}
public DataTable Selecionar(string sql)
{
SqlConnection conexao = new SqlConnection(_Conexao);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}
Carlos Faria
Curtir tópico
+ 0
Responder
Posts
17/05/2012
Joel Rodrigues
Cara, uma opção é você ter apenas um objeto SqlConnection, mas em geral, eu acredito que o melhor é manter a conexão fechada para não consumir recursos do servidor.
Uma forma de fazer seria assim:
Desconsidere qualquer erro de sintaxe, não testei esse código, fiz no notepad agora.
Uma forma de fazer seria assim:
public class MinhaClasse { SqlConnection conexao; SqlCommand comando; SqlDataAdapter adaptador; public MinhaClasse() { SqlConnection conexao = new SqlConnection(StringConexao) comando = conexao.CreateCommand(); adaptador = new SqlDataAdapter(comando); } public DataTable Selecionar(string sql) { try { comando.CommandText = sql; DataTable tabela = new DataTable(); if(conexao.State == ConectionState.Closed) conexao.Open(); adaptador.Fill(tabela); return tabela; } finally { conexao.Close(); } } }
Desconsidere qualquer erro de sintaxe, não testei esse código, fiz no notepad agora.
Responder
Clique aqui para fazer login e interagir na Comunidade :)