jwcolby
jwcolby at colbyconsulting.com
Fri Jul 23 15:07:55 CDT 2010
The version that seems to addre4ss all of the issues: namespace projBaseObjects { class clsSQLReadWrite { public static void ExecuteNonQuery(string strCnn, string strSQL) { SqlConnection mCnn = null; SqlCommand myCommand = null; try { mCnn = new SqlConnection(strCnn); mCnn.Open(); myCommand = new SqlCommand(strSQL, mCnn); myCommand.ExecuteNonQuery(); } catch (SqlException) { throw; } catch (Exception) { throw; } finally { if (myCommand != null) { myCommand.Dispose(); myCommand = null; } if (mCnn != null) { mCnn.Close(); } } } } } What do you do with the command object? Does it need cleanup handling at all? It doesn't have a close method, though it does have a dispose method. And finally (pun intended) what should I do with this method? Return a boolean true = worked? But WHERE? The finally will execute whether the function "worked" or not. AFTER the finally block? As I understand it that code would ONLY execute if the catch statements do not throw an error? A throw does exit the function never to return correct? Should I log (write to a log file) BEFORE the throw? This is "closest to the error" and I can pass additional info about the context. Or should I just continuously throw it all the way up to the top and log everything at the very top? (mutters under breath - "I will learn this stuff") -- John W. Colby www.ColbyConsulting.com