如下代码是我基类中的一个方法,我想知道该方法调用完后finally中的conn.Close()会不会被执行?因为我在conn.Close()之前已经返回值了(return rows_count;),还请指点,谢谢:#region 运行存储过程(INSERT、UPDATE、DELETE),返回成功行数
protected int RunProcedure (string procedure_name , IDataParameter[] parameters)
{
int rows_count;
try
{
if(conn.State == ConnectionState.Closed)
{
conn.Open();
}
cmd = this.BuildSqlCommand(procedure_name , parameters);
rows_count = cmd.ExecuteNonQuery();
return rows_count;
}
catch(Exception error)
{
throw error;
}
finally
{
conn.Close();
}
}
#endregion
protected int RunProcedure (string procedure_name , IDataParameter[] parameters)
{
int rows_count;
try
{
if(conn.State == ConnectionState.Closed)
{
conn.Open();
}
cmd = this.BuildSqlCommand(procedure_name , parameters);
rows_count = cmd.ExecuteNonQuery();
return rows_count;
}
catch(Exception error)
{
throw error;
}
finally
{
conn.Close();
}
}
#endregion
{
int rows_count;
try
{
if(conn.State == ConnectionState.Closed)
{
conn.Open();
} cmd = this.BuildSqlCommand(procedure_name , parameters);
rows_count = cmd.ExecuteNonQuery(); return rows_count; }
finally
{
conn.Close();
}
}