私は、コードのこの部分を持っている:C#閉じるsqlconnectionとsqldatareaderかどうか?
SqlConnection conn;
string strconString = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCONN"].ToString();
conn = new SqlConnection(strconString);
string cmdstr = "select status from racpw where vtgid = " + vtgid;
SqlCommand cmdselect = new SqlCommand(cmdstr, conn);
conn.Open();
SqlDataReader dtr = cmdselect.ExecuteReader();
if (dtr.Read())
{
return;
}
else
{
...
}
dtr.Close();
conn.Close();
今、私の質問です。 返された場合、私の接続とdtrは自動的に閉じられますか、または接続が閉じられた後にbool変数を使用して戻り値を返す必要がありますか?
つまり、接続はガベージコレクタによって閉じられません。その場合、新しい接続を再度作成して開くときにInvalidOperationExceptionが発生します。 – Egor4eg