Мой клиентский сервер не поддерживает MARS.Поэтому мне нужно закрыть каждое соединение sql после выполнения каждого запроса.Но у меня есть сомнения по поводу закрытия соединения, когда оно приходит к запросу с несколькими вложенными циклами.Мой код
protected void btn_upload_Click(object sender, ImageClickEventArgs e)
{
try
{
SqlConnection con = obj.getcon();
con.Open();
SqlCommand cmd77 = new SqlCommand("select * from emp_details where emp_id='"+emp_id+"'", con);
SqlDataReader dr77 = cmd77.ExecuteReader();
if (dr77.HasRows)//dont insert if employee already exist
{
string query1 = "UPDATE emp_details SET emp_name= @emp_name where emp_id=@emp_id";
SqlCommand cmd = new SqlCommand(query1, con);
cmd.Parameters.Add(new SqlParameter("emp_id", emp_id));
cmd.Parameters.Add(new SqlParameter("emp_name", emp_name))
cmd.ExecuteNonQuery();
}
else
{
insertdataintosql(GetempID,GetempName);
}
con.Close();
}
catch (Exception ex)
{
string ex=ex.Message;
}
}
public void insertdataintosql(string emp_id, string emp_name)
{
SqlConnection con = obj.getcon();
con.Open();
string query = "insert into emp_details(emp_id,emp_name) values(@emp_id,@emp_name)";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add(new SqlParameter("emp_id", emp_id));
cmd.Parameters.Add(new SqlParameter("emp_name", emp_name))
cmd.ExecuteNonQuery();
con.Close();
}
Где мне закрыть первое соединение для SqlDataReader (dr77), так как оно используется в цикле if else?Если не используется MARS, нужно ли открывать / закрывать новое соединение по запросу на обновление?Так нужно ли закрыть dr77 до этого?