G
Guest
does the cmd.ExecuteScalar() auto close the connection the same as
RxecuteReader(commandbehavior.CloseConnection)?
RxecuteReader(commandbehavior.CloseConnection)?
Sahil Malik said:No it doesn't.
--
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
-------------------------------------------------------------------------------------------
William (Bill) Vaughn said:No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
William (Bill) Vaughn said:No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
William (Bill) Vaughn said:No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
Miha Markic said:I am also curious. Why it should?
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/
SLODUG - Slovene Developer Users Group www.codezone-si.info
William (Bill) Vaughn said:No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
William (Bill) Vaughn said:Oh, I can't think of more than these reasons:
1) Connections are a precious resource. Getting them closed quickly
(when they can be) is good for scalability
2) Consistency. All of the Command execute functions that require open
connections should have a CommandBehavior.CloseConnection available.
3) Too many folks complain about overflowing connection pools look to
the ExecuteReader as the cause--it could be elsewhere. Setting CBCC makes
it easier to manage connections.
Just because the enumeration is there does not mean you have to set it.
Right.
There are valid reasons not to close the connection (as you expect to use
it again in the same function or you're working with a transaction...)
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
Miha Markic said:I am also curious. Why it should?
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/
SLODUG - Slovene Developer Users Group www.codezone-si.info
William (Bill) Vaughn said:No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
No it doesn't.
--
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
Miha Markic said:Hi,
William (Bill) Vaughn said:Oh, I can't think of more than these reasons:
1) Connections are a precious resource. Getting them closed quickly
(when they can be) is good for scalability
Point 1. and 3.: Perhaps, but better practise is to use a try/finally (or
C#'s using) block to open and close the connection. Furthermore, you
normally do more than just one operation when connection is open so it
won't help much.
2) Consistency. All of the Command execute functions that require open
connections should have a CommandBehavior.CloseConnection available.
Personally I don't need them as I am always explicitely opening and
closing connections.
3) Too many folks complain about overflowing connection pools look to
the ExecuteReader as the cause--it could be elsewhere. Setting CBCC makes
it easier to manage connections.
Just because the enumeration is there does not mean you have to set it.
Right.
There are valid reasons not to close the connection (as you expect to use
it again in the same function or you're working with a transaction...)
Sure. I just think that nothing beats explicit open and close and nothing
won't protect you from forgetting to close it even if that parameter
exists.
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/
SLODUG - Slovene Developer Users Group www.codezone-si.info
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
Miha Markic said:I am also curious. Why it should?
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/
SLODUG - Slovene Developer Users Group www.codezone-si.info
No it doesn't and it SHOULD (IMHO).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no
rights.
__________________________________
No it doesn't.
--
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx