É melhor passar um SqlConnection aberto como parâmetro ou chamar um novo em cada métod
Se métodos / funções que chamarei envolverem a necessidade de um SqlConnection aberto, vou abrir isso no método que está chamando a função. Por exemplo
protected static void btnSubmit(){
conn.Open();
myMethod(someParam, conn);
conn.Close();
}
protected static void myMethod(object someParam, SqlConnection conn){
//Some SQL commands etc here..
}
Fiz isso para que eu:
Apenas abra e feche 1 SqlConnection por processoNo entanto, seria melhor estruturar meu código da seguinte forma:
protected static void btnSubmit(){
myMethod(someParam);
}
protected static void myMethod(object someParam){
SqlConnection conn = New SqlConnection(".....");
conn.Open();
//Some SQL commands etc here..
conn.Close();
}
A vantagem que vejo de estruturá-lo desta maneira é:
Não preciso passar um parâmetro extra para cada método Se, posteriormente, o método não tiver mais um comando SQL, não haverá um parâmetro não utilizado sendo chamado cada vez queA desvantagem que vejo para isso é:
E semyMethod
é um método recursivo, então, quando se chamar, abrirá outroSqlConnection
e assim por diante e assim por diante ..E sebtnSubmit
está chamando vários métodos que exigem uma SqlConnection, cada um vai abrir e fechar uma nova conexãQual é a melhor maneira de fazer isso e qual é mais comu