Instrucción Using

27/03/2005 - 13:53 por fran | Informe spam
Hola, en el código de abajo se utiliza la instrucción using,

Está bien usado?
La instrucción using sirve para liberar recursos, pero esto no se está
haciendo ya en la instrucción finally?

Muchas gracias



public static int CheckSequenceNumber(string idBBDD, string sequenceNum,
string fileName)
{
string text1 = ConfigurationSettings.AppSettings.Get("ConnStr");
int num1 = 0;
using (SqlConnection connection1 = new SqlConnection(text1))
{
SqlCommand command1 = new SqlCommand();
command1.CommandType = CommandType.StoredProcedure;
command1.Connection = connection1;
command1.CommandText = "checkSequenceNumberDB";
SqlParameter parameter1 = command1.Parameters.Add("@databaseId",
SqlDbType.Int);
parameter1.Direction = ParameterDirection.Input;
SqlParameter parameter2 =
command1.Parameters.Add("@SequenceNumber", SqlDbType.Int);
parameter2.Direction = ParameterDirection.Input;
SqlParameter parameter3 = command1.Parameters.Add("@fileName",
SqlDbType.VarChar, 60);
parameter3.Direction = ParameterDirection.Input;
SqlParameter parameter4 = command1.Parameters.Add("@state",
SqlDbType.Int);
parameter4.Direction = ParameterDirection.Output;
parameter1.Value = Convert.ToInt32(idBBDD);
parameter2.Value = Convert.ToInt32(sequenceNum);
parameter3.Value = fileName;
try
{
connection1.Open();
command1.ExecuteNonQuery();
return Convert.ToInt32(parameter4.Value);
}
catch (Exception exception1)
{
throw new Exception("Details :" + exception1.Message,
exception1);
}
finally
{
connection1.Close();
}
}
return num1;
}
 

Leer las respuestas

#1 A.Poblacion
27/03/2005 - 16:45 | Informe spam
"fran" wrote in message
news:
Hola, en el código de abajo se utiliza la instrucción using,
Está bien usado?
La instrucción using sirve para liberar recursos, pero esto no se está
haciendo ya en la instrucción finally?



El "using" lo que hace es meter en un try todas las instrucciones, y
luego meter un finally que hace un Dispose() del recurso. Así pues, en este
ejemplo, el primer finally hace un Close() de la conexión y el using hace un
Dispose() de la misma conexión. En este caso, el Close es superfluo, dado
que el Dispose ya conlleva internamente el Close.

Preguntas similares