<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>FAQ - Frequently Asked Questions</title><link>http://forums.asp.net/13.aspx</link><description>Your question has probably already been answered. Look here for some great answers!</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/3028501.aspx</link><pubDate>Sun, 22 Mar 2009 20:47:39 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3028501</guid><dc:creator>yorock</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3028501.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=3028501</wfw:commentRss><description>&lt;p&gt;hi all,&lt;/p&gt;
&lt;p&gt;whenever i try 2 execute the connection code.A server error is gettin displayed &amp;quot;cannot open the database &amp;quot;projdb.mdf&amp;quot;requested .login failed..login failed for the user &amp;quot;YOGESH\Owner&amp;quot;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2992461.aspx</link><pubDate>Mon, 09 Mar 2009 09:24:24 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2992461</guid><dc:creator>sudipta</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2992461.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2992461</wfw:commentRss><description>&lt;p&gt;Hi Sriya, &lt;/p&gt;
&lt;p&gt;&amp;nbsp;Replying to a very old post :)&lt;/p&gt;
&lt;p&gt;Use the code as below in your try block.&lt;/p&gt;&lt;pre class="coloredcode"&gt;SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

&lt;span class="kwd"&gt;if&lt;/span&gt; (rdr.Read())
{
   str = rdr[0].ToString();
}

rdr.Close();&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2839707.aspx</link><pubDate>Wed, 31 Dec 2008 10:03:47 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2839707</guid><dc:creator>sirdneo</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2839707.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2839707</wfw:commentRss><description>&lt;p&gt;Keeping connection open for bunch of operation or open/close connection for every operation depends on application behavior and usage. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I always use connection pool&amp;nbsp; which have multiple connections and always colse connection for each operation. But sometimes I use same connection from pool for multple operation.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2774419.aspx</link><pubDate>Sat, 29 Nov 2008 11:27:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2774419</guid><dc:creator>abc@abc.com</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2774419.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2774419</wfw:commentRss><description>&lt;p&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Summary description for Cls_DataAccess&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Cls_DataAccess&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private SqlConnection con;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool blnIsError;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string strErrorMessage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Cls_DataAccess()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO: Add constructor logic here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blnIsError = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strErrorMessage = &amp;quot;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Returns Error Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;ResetError&amp;quot;&amp;gt;Boolean value to specify if error needs to be reset&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string GetErrorMessage(bool ResetErrorStatus)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strReturn = strErrorMessage;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ResetErrorStatus == true)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResetError();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return strReturn;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Initilaizes the error message of the class&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;ErrorMessage&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void InitializeError(string ErrorMessage, string Function)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blnIsError = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strErrorMessage = ErrorCodes.ReturnError(this.ToString(), Function, ErrorMessage);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Resets the error&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ResetError()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blnIsError = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strErrorMessage = &amp;quot;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Returns an open database connection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;Connection Object&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public SqlConnection GetConnection()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //olecon.ConnectionString = ConfigurationManager.ConnectionStrings[&amp;quot;tempStoreConnString&amp;quot;].ConnectionString;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strConnectionString = ConfigurationManager.ConnectionStrings[&amp;quot;tempConnString&amp;quot;].ConnectionString;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strConnectionString = strConnectionString.Replace(&amp;quot;App_Data/&amp;quot;, @&amp;quot;&amp;quot;+AppDomain.CurrentDomain.BaseDirectory+@&amp;quot;App_Data/&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = new SqlConnection();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.ConnectionString = strConnectionString;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (olecon.State != System.Data.ConnectionState.Open)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return con;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception errOlecon)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeError(errOlecon.Message, &amp;quot;GetConnection&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Close the database connection if opened&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void CloseConnection()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (con.State == System.Data.ConnectionState.Open)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2767520.aspx</link><pubDate>Tue, 25 Nov 2008 17:46:14 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2767520</guid><dc:creator>vijjendra</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2767520.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2767520</wfw:commentRss><description>&lt;p&gt;when you use datareader first declare as null&lt;/p&gt;&lt;p&gt;dataReader dr=null;&lt;/p&gt;&lt;p&gt;and use&lt;b&gt; using&lt;/b&gt; because using is the combination of&lt;b&gt; try and finally&lt;/b&gt;. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&amp;nbsp;&lt;br /&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2758161.aspx</link><pubDate>Thu, 20 Nov 2008 15:38:43 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2758161</guid><dc:creator>sriyasarkar</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2758161.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2758161</wfw:commentRss><description>&lt;p&gt;I have one question.&lt;/p&gt;
&lt;p&gt;If I am using a datareader, should I close that in the try block or the finally block?&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2706504.aspx</link><pubDate>Sun, 26 Oct 2008 04:19:09 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2706504</guid><dc:creator>SirPaladin1969</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2706504.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2706504</wfw:commentRss><description>&lt;p&gt;I never got an anwer on this: Whose UserName and Passwords would be hard coded in the web.config? Wouldn&amp;#39;t each user need to login with their own UserName and Password to gain access? Do you add Keys for each? That would seem very inefficient if you had lots of users.&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2605545.aspx</link><pubDate>Sun, 07 Sep 2008 17:25:26 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2605545</guid><dc:creator>drpcken</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2605545.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2605545</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Thats really helpful information.&amp;nbsp; I&amp;#39;m definately going to implement this into my current project.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Thanks!! &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2605453.aspx</link><pubDate>Sun, 07 Sep 2008 15:47:59 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2605453</guid><dc:creator>mbanavige</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2605453.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2605453</wfw:commentRss><description>&lt;p&gt;a using statement causes the object being used to have its Dispose method invoked when that object goes out of scope (when the using block ends).&amp;nbsp; The Dispose method is where unmanaged resources are normally&amp;nbsp;released.&amp;nbsp; So in the case of the SqlConnection object, we can see what the Dispose method looks like by using a tool such as Reflector.&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected override void&lt;/span&gt; Dispose(&lt;span class="kwd"&gt;bool&lt;/span&gt; disposing)
{
    &lt;span class="kwd"&gt;if&lt;/span&gt; (disposing)
    {
        &lt;span class="kwd"&gt;this&lt;/span&gt;._userConnectionOptions = &lt;span class="kwd"&gt;null&lt;/span&gt;;
        &lt;span class="kwd"&gt;this&lt;/span&gt;._poolGroup = &lt;span class="kwd"&gt;null&lt;/span&gt;;
        &lt;span class="kwd"&gt;this&lt;/span&gt;.Close();
    }
    &lt;span class="kwd"&gt;this&lt;/span&gt;.DisposeMe(disposing);
    &lt;span class="kwd"&gt;base&lt;/span&gt;.Dispose(disposing);
}

 
&lt;/pre&gt;&amp;nbsp;So here we can clearly see what sort of cleanup work will get done when the using block ends on a SqlConnection object.&amp;nbsp; That dispose code will execute even in the event of an exception getting thrown.&amp;nbsp; That insures that the connection will get closed - no matter what happens.</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2605410.aspx</link><pubDate>Sun, 07 Sep 2008 15:21:39 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2605410</guid><dc:creator>drpcken</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2605410.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2605410</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;haha thanks.&amp;nbsp; I understand what using statements are but I didn&amp;#39;t realize you could handle dbconnections with them.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;So basically you use the connection object, open and perform your work, but you don&amp;#39;t have to close the connection and it takes care of cleanup after it leaves the using block? &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2605268.aspx</link><pubDate>Sun, 07 Sep 2008 12:20:39 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2605268</guid><dc:creator>mbanavige</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2605268.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2605268</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;drpcken:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Where can I get more info?&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Using Statement (Visual Basic) - &lt;a href="http://msdn.microsoft.com/en-us/library/htd05whh.aspx"&gt;http://msdn.microsoft.com/en-us/library/htd05whh.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;using Statement (C# Reference) - &lt;a href="http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that the Using Statement is available in VB.NET only from the 2.0 framework and forwards.&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2605028.aspx</link><pubDate>Sun, 07 Sep 2008 02:55:54 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2605028</guid><dc:creator>drpcken</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2605028.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2605028</wfw:commentRss><description>&amp;nbsp;&lt;pre class="coloredcode"&gt;or the &lt;span class="kwd"&gt;using&lt;/span&gt; pattern &lt;span class="kwd"&gt;in&lt;/span&gt; C#:

&lt;span class="kwd"&gt;using&lt;/span&gt; (SqlConnection conn = &lt;span class="kwd"&gt;new&lt;/span&gt; SqlConnection(dsn))
{
   &lt;span class="cmt"&gt;//...&lt;/span&gt;
  conn.Open();
}
which will close the db connection automatically when leaving the &lt;span class="kwd"&gt;using&lt;/span&gt; block. &lt;/pre&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;I&amp;#39;m intrigued by this.&amp;nbsp; I&amp;#39;ve never heard of doing it this way.&amp;nbsp; Where can I get more info?&amp;nbsp; &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2558099.aspx</link><pubDate>Thu, 14 Aug 2008 14:28:17 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2558099</guid><dc:creator>sudipta</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2558099.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2558099</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;themasterpiece83:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;hi all.. what i hav found out is web.config is just a text file which can be hacked easily.. &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Web.config file can&amp;#39;t be hacked as such. When browser requests a Web.config file, this type of request is not processed. The file can only be hacked i you gain access to the web server. In such a case, connection string in a public library can also be hacked if the Web Server security is compromised.&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2535243.aspx</link><pubDate>Mon, 04 Aug 2008 15:55:39 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2535243</guid><dc:creator>donkiely</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2535243.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2535243</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/fan/images/icon-quote.gif"&gt; &lt;strong&gt;themasterpiece83:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;hi all.. what i hav found out is web.config is just a text file which can be hacked easily.. so its better to write a constant string in a public class library which can be access anywhere that class accessible is.. e.g.&lt;/p&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;/font&gt;&lt;p&gt;&lt;font size="2" color="#0000ff"&gt;public&lt;/font&gt;&lt;font size="2" color="#000000"&gt; &lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;static&lt;/font&gt;&lt;font size="2" color="#000000"&gt; &lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;class&lt;/font&gt;&lt;font size="2" color="#000000"&gt; &lt;/font&gt;&lt;font size="2" color="#2b91af"&gt;Constants&lt;/font&gt;&lt;/p&gt;&lt;font size="2" color="#2b91af"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;#if&lt;/font&gt;&lt;font size="2"&gt; Localhost&lt;/font&gt;&lt;font size="2"&gt; 
&lt;/font&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;const&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;string&lt;/font&gt;&lt;font size="2"&gt; SqlConnectionString = &lt;/font&gt;&lt;font size="2" color="#a31515"&gt;@&amp;quot;server=.; uid=UserName; pwd=Password; database=DatabaseName&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;/font&gt;&lt;p&gt;&lt;font size="2" color="#0000ff"&gt;#endif&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" color="#0000ff"&gt;&lt;/font&gt;}&lt;/p&gt;
&lt;p&gt;now u can access it with Constants.SqlConnectionString by adding this class into your cs file.. this is the best way i found out.. &lt;/p&gt;
&lt;p&gt;post your suggestions if m wrong..&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;No, no, NO! It is NEVER good practice to embed secrets in an executable. Those are far too easy to find, and no less hackable than a web.config file.&lt;/p&gt;&lt;p&gt;The best practice for protecting connection strings is to put them in the connectionStrings section of web.config, and encrypt them using the features built into ASP.NET. This uses strong encryption, and protects the data as well as it can be.&lt;/p&gt;&lt;p&gt;Don &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Handle database connections with care</title><link>http://forums.asp.net/thread/2452606.aspx</link><pubDate>Fri, 27 Jun 2008 14:49:55 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2452606</guid><dc:creator>vivek_cs</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2452606.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=13&amp;PostID=2452606</wfw:commentRss><description>&lt;p&gt;Better to use Using whenever open a connection or its applicable for all classes which implement Idisposable&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The new code would looking something like this:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;using (SqlConnection cn = new SqlConnection(connectionString))&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SqlCommand cm = new SqlCommand(commandString, cn))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cm.ExecuteNonQuery();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;This is essentially equivalent to the following, although my guess is that C# will internally generate two try / finally blocks (one for the SqlConnection and one for the SqlCommand), but you get the idea:&lt;br /&gt;&lt;br /&gt;&lt;font color="#000080"&gt;SqlConnection cn =&amp;nbsp; null;&lt;br /&gt;SqlCommand cm = null;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;try&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn = new SqlConnection(connectionString);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm = new SqlCommand(commandString, cn);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cm.ExecuteNonQuery();&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (null != cm);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cm.Dispose();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (null != cn)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn.Dispose();&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>