I would like to refactor my SqlDataReader
code, so it's using using
..
SqlDataReader reader = null;
reader = xdCmd.ExecuteReader();
// use reader..
Can I use solution 1) where I declare the reader
in the using and first later initialize it with a SqlDataReader
, and still get the Dispose
"features" using provides? Or do I need to do it as in solution 2), where the initialization happends right away, in the using
?
I would guess that 1) is fine, but I'm not sure.
1)
using (SqlDataReader reader = null)
{
xdCmd.CommandText = $"select * from {tableName}";
reader = xdCmd.ExecuteReader();
// use reader..
}
2)
using (SqlDataReader reader = new SqlDataReader(new SqlCommand($"select * from {tableName}"), xdCon))
{
reader = xdCmd.ExecuteReader();
// use reader..
}