Two ways to use "using" keyword in C#"
In C#, using Keyword can be used in two different ways and are hence referred to differently.
A simple and straightforward approach to connect to a database server and read data would be-
If any exception occurs inside while block it throws exception the connection.close() process will not executed due to the exception.To avoid this situation, we can take the help of the try....catch... finally block by closing the connection inside the finally block or inside the catch block.
"Using" keyword takes the parameter of type IDisposable.Whenever you are using any IDisposable type object you should use the "using" keyword to handle automatically when it should close or dispose. Internally using keyword calls the Dispose() method to dispose the IDisposable object.
So the correct code would be
In this code if any exception occurs then dispose() will be called and connection will closed automatically.
In C#, using Keyword can be used in two different ways and are hence referred to differently.
- As a Directive In this usage, the "using" keyword can be used to include a namespace in your programme.(Mostly used).
- As a StatementUsing can also be used in a block of code to dispose a IDisposable objects.(less used).
A simple and straightforward approach to connect to a database server and read data would be-
SqlConnection sqlconnection = new SqlConnection(connectionString);
SqlDataReader reader = null;
SqlCommand cmd = new SqlCommand(commandString. sqlconnection);
sqlconnection .Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
//Do
}
reader.Close();
sqlconnection .Close();
However, the above given code may generate error.
If any exception occurs inside while block it throws exception the connection.close() process will not executed due to the exception.To avoid this situation, we can take the help of the try....catch... finally block by closing the connection inside the finally block or inside the catch block.
"Using" keyword takes the parameter of type IDisposable.Whenever you are using any IDisposable type object you should use the "using" keyword to handle automatically when it should close or dispose. Internally using keyword calls the Dispose() method to dispose the IDisposable object.
So the correct code would be
using(SqlConnection sqlconnection= new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(commandString, sqlconnection);
sqlconnection.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
//DO
}
}
}
In this code if any exception occurs then dispose() will be called and connection will closed automatically.
0 comments:
Post a Comment