<?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>Data Access and ObjectDataSource Control</title><link>http://forums.asp.net/23.aspx</link><description>Questions and discussions related to using ADO.NET for data access, and the ObjectDataSource control. &lt;a href="http://aspadvice.com/SignUp/list.aspx?l=9&amp;c=17" target="_blank"&gt;Email List&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274853.aspx</link><pubDate>Sat, 04 Jul 2009 17:25:25 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274853</guid><dc:creator>TATWORTH</dc:creator><author>TATWORTH</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274853.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274853</wfw:commentRss><description>&lt;p&gt;&amp;gt;Brilliant, thank you very much. That&amp;#39;s really useful.&lt;/p&gt;&lt;p&gt;You can find the source code at &lt;a target="_blank" href="http://commondata.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27454"&gt;http://commondata.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27454&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274830.aspx</link><pubDate>Sat, 04 Jul 2009 16:39:58 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274830</guid><dc:creator>TATWORTH</dc:creator><author>TATWORTH</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274830.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274830</wfw:commentRss><description>&lt;p&gt;Here is the calling code:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region &amp;quot; Select&amp;nbsp; &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Select record on ChangeLog&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&amp;quot;id&amp;quot;&amp;gt;Id of record to fetch&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;ChangeLogSelect containing data for selected row&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static ChangeLogSelect Select(int id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var changeLogSelect = new ChangeLogSelect();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var connect = CommonData.ConnectionString;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sqlConnection = new SqlConnection(connect);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sqlCommand = new SqlCommand(&amp;quot;usp_ChangeLogSelect&amp;quot;, sqlConnection);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&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; sqlCommand.CommandType = CommandType.StoredProcedure;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@Id&amp;quot;, SqlDbType.Int);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@Id&amp;quot;].Value = id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@ChangeFilename&amp;quot;, SqlDbType.VarChar, 128);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@ChangeFilename&amp;quot;].Direction = ParameterDirection.Output;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@DateAdded&amp;quot;, SqlDbType.DateTime);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@DateAdded&amp;quot;].Direction = ParameterDirection.Output;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@Purpose&amp;quot;, SqlDbType.VarChar, 128);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@Purpose&amp;quot;].Direction = ParameterDirection.Output;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@Rerunnable&amp;quot;, SqlDbType.Bit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@Rerunnable&amp;quot;].Direction = ParameterDirection.Output;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Connection.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.ExecuteNonQuery();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeLogSelect.Id = CommonData.NullToInteger(sqlCommand.Parameters[&amp;quot;@Id&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeLogSelect.ChangeFilename = CommonData.NullToString(sqlCommand.Parameters[&amp;quot;@ChangeFilename&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeLogSelect.DateAdded = CommonData.NullToDateString(sqlCommand.Parameters[&amp;quot;@DateAdded&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeLogSelect.Purpose = CommonData.NullToString(sqlCommand.Parameters[&amp;quot;@Purpose&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeLogSelect.Rerunnable = CommonData.NullToBoolean(sqlCommand.Parameters[&amp;quot;@Rerunnable&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&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; const string Message = &amp;quot;Failure calling usp_ChangeLogSelect&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CommonData.WriteEventError(ex, Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new DalGeneralException(Message, ex);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; finally&lt;br /&gt;&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; if (sqlCommand.Connection != null)&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; sqlCommand.Connection.Close();&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; sqlCommand.Dispose();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlConnection.Dispose();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return changeLogSelect;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274829.aspx</link><pubDate>Sat, 04 Jul 2009 16:39:06 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274829</guid><dc:creator>djs25uk</dc:creator><author>djs25uk</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274829.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274829</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Brilliant, thank you very much. That&amp;#39;s really useful.&lt;/p&gt;
&lt;p&gt;Daniel&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274828.aspx</link><pubDate>Sat, 04 Jul 2009 16:38:50 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274828</guid><dc:creator>TATWORTH</dc:creator><author>TATWORTH</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274828.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274828</wfw:commentRss><description>&lt;p&gt;Here is an example that returns mutiple values:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;ALTER PROCEDURE [dbo].[usp_ChangeLogSelect]&lt;br /&gt;(&lt;br /&gt;&amp;nbsp; @Id&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; INT,&lt;br /&gt;&amp;nbsp; @ChangeFilename&amp;nbsp;&amp;nbsp; VARCHAR (128) OUTPUT,&lt;br /&gt;&amp;nbsp; @DateAdded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATETIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT,&lt;br /&gt;&amp;nbsp; @Purpose&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR (128) OUTPUT,&lt;br /&gt;&amp;nbsp; @Rerunnable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT&lt;br /&gt;) AS&lt;br /&gt;--&amp;nbsp; Purpose:&lt;br /&gt;--&amp;nbsp;&amp;nbsp;&amp;nbsp; Select record on ChangeLog table&lt;br /&gt;--&amp;nbsp; Parameters:&lt;br /&gt;--&amp;nbsp;&amp;nbsp;&amp;nbsp; Id&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; History:&amp;nbsp; &amp;nbsp;&lt;br /&gt;--&amp;nbsp; 29Jun2009 Administrator Original coding&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;SELECT &lt;br /&gt;&amp;nbsp; @ChangeFilename&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ChangeLog.ChangeFilename,&lt;br /&gt;&amp;nbsp; @DateAdded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ChangeLog.DateAdded,&lt;br /&gt;&amp;nbsp; @Purpose&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ChangeLog.Purpose,&lt;br /&gt;&amp;nbsp; @Rerunnable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ChangeLog.Rerunnable&lt;br /&gt;&amp;nbsp; FROM ChangeLog WHERE&amp;nbsp; ChangeLog.Id = @Id&lt;br /&gt;RETURN&lt;br /&gt;-------------- this is the end ----------------&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274827.aspx</link><pubDate>Sat, 04 Jul 2009 16:36:50 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274827</guid><dc:creator>TATWORTH</dc:creator><author>TATWORTH</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274827.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274827</wfw:commentRss><description>&lt;p&gt;Here is the code that calls it.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;#region &amp;quot; Count&amp;nbsp;&amp;nbsp; &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Count records on ChangeLog table &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;remarks&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// This code was autogenerated on 29Jun2009&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/remarks&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;Count of records&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static int Count()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int count; // set to 0 by runtime&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var connect = CommonData.ConnectionString;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sqlConnection = new SqlConnection(connect);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sqlCommand = new SqlCommand(&amp;quot;usp_ChangeLogCount&amp;quot;, sqlConnection);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&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; sqlCommand.CommandType = CommandType.StoredProcedure;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters.Add(&amp;quot;@Count&amp;quot;, SqlDbType.Int);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Parameters[&amp;quot;@Count&amp;quot;].Direction = ParameterDirection.Output;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Connection.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.ExecuteNonQuery();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlCommand.Connection.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count = CommonData.NullToInteger(sqlCommand.Parameters[&amp;quot;@Count&amp;quot;].Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&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; const string Message = &amp;quot;Failure calling usp_ChangeLogCount&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CommonData.WriteEventError(ex, Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new DalGeneralException(Message, ex);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; finally&lt;br /&gt;&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; if (sqlCommand.Connection != null)&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; sqlCommand.Connection.Close();&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; sqlCommand.Dispose();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sqlConnection.Dispose();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return count;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274826.aspx</link><pubDate>Sat, 04 Jul 2009 16:35:28 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274826</guid><dc:creator>TATWORTH</dc:creator><author>TATWORTH</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274826.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274826</wfw:commentRss><description>&lt;p&gt;Here is a stored procedure that returns a count of records in a table&lt;/p&gt;&lt;p&gt;set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new,courier;"&gt;ALTER PROCEDURE [dbo].[usp_ChangeLogCount]&lt;br /&gt;(&lt;br /&gt;&amp;nbsp; @Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT OUTPUT&lt;br /&gt;) AS&lt;br /&gt;--&amp;nbsp; Purpose:&lt;br /&gt;--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Count records on ChangeLog table&lt;br /&gt;--&amp;nbsp; Parameters:&lt;br /&gt;--&amp;nbsp;&amp;nbsp;&amp;nbsp; Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Count of records&lt;br /&gt;--&amp;nbsp; History:&amp;nbsp; &amp;nbsp;&lt;br /&gt;--&amp;nbsp; 29Jun2009 Administrator Original coding&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;SELECT @COUNT = COUNT(*) FROM ChangeLog&lt;br /&gt;RETURN&lt;br /&gt;-------------- this is the end ----------------&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3274032.aspx</link><pubDate>Fri, 03 Jul 2009 21:51:23 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3274032</guid><dc:creator>malcolms</dc:creator><author>malcolms</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3274032.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3274032</wfw:commentRss><description>&lt;p&gt;You can return multiple counts by doing this:&lt;/p&gt;&lt;p&gt;select count(column1) as column1, count(column2) as column2 from your_table&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3273917.aspx</link><pubDate>Fri, 03 Jul 2009 18:48:58 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3273917</guid><dc:creator>djs25uk</dc:creator><author>djs25uk</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3273917.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3273917</wfw:commentRss><description>&lt;p&gt;Please could you help me with one final question on this? How do I return multiple values from a stored procedure? For example, I&amp;#39;d like to perform the 4 different counts (above) in one stored procedure and return all those values to my ASP .net page for use. I&amp;#39;ve done a lot of googling around this and there are loads of similar posts but no clear answers.&lt;/p&gt;
&lt;p&gt;Any help would be really appreciated.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Daniel&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3245323.aspx</link><pubDate>Fri, 19 Jun 2009 12:37:33 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3245323</guid><dc:creator>malcolms</dc:creator><author>malcolms</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3245323.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3245323</wfw:commentRss><description>Niikola I agree with you totally.&amp;nbsp; Improving performance is easier, in my opinion, when you need to work with stored procedures because you have access to execution plans inside of SQL Server.&lt;br /&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3244735.aspx</link><pubDate>Fri, 19 Jun 2009 08:58:37 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3244735</guid><dc:creator>Niikola</dc:creator><author>Niikola</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3244735.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3244735</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;malcolms:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;The performance difference between LINQ to SQL and stored procedures these days is minimal.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Agree in 90% of cases when performance is not issue at all, but try to tune LINQ when performance is primary goal &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3244216.aspx</link><pubDate>Fri, 19 Jun 2009 04:42:15 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3244216</guid><dc:creator>malcolms</dc:creator><author>malcolms</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3244216.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3244216</wfw:commentRss><description>&lt;p&gt;The performance difference between LINQ to SQL and stored procedures these days is minimal.&amp;nbsp; But I&amp;#39;m an old stored procedure guy and I like to use them for two reasons:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;For security.&amp;nbsp; Using stored procedures means you have only given users access to execute stored procs and not select permissions on the tables&lt;/li&gt;&lt;li&gt;Execution plans are a great way to fine tune stored procs&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;But if you use stored procedures you can use the Count() method to return the number of rows from a table, like this:&lt;/p&gt;&lt;p&gt;select count(*) from your_table &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3240438.aspx</link><pubDate>Wed, 17 Jun 2009 17:52:40 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3240438</guid><dc:creator>djs25uk</dc:creator><author>djs25uk</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3240438.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3240438</wfw:commentRss><description>&lt;p&gt;I didn&amp;#39;t realise SQL is more efficient than Linq - why is this so? I&amp;#39;ll explore the stored procedure idea - sounds good.&lt;/p&gt;
&lt;p&gt;Thanks for your help&lt;/p&gt;
&lt;p&gt;Daniel&lt;/p&gt;</description></item><item><title>Re: Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3240116.aspx</link><pubDate>Wed, 17 Jun 2009 15:02:01 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3240116</guid><dc:creator>Niikola</dc:creator><author>Niikola</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3240116.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3240116</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;You can use SQL query or stored procedure which would be much easier to make more efficient&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Performing Lots of Counts on Rows in a Database</title><link>http://forums.asp.net/thread/3237862.aspx</link><pubDate>Tue, 16 Jun 2009 19:09:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3237862</guid><dc:creator>djs25uk</dc:creator><author>djs25uk</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3237862.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=23&amp;PostID=3237862</wfw:commentRss><description>&lt;p&gt;Dear All&lt;/p&gt;
&lt;p&gt;I&amp;#39;m looking to create an ASP .net page which perform lots of counts on records in my database and display them&amp;nbsp;as a&amp;nbsp;table to the end-user. At the moment, I&amp;#39;m using four&amp;nbsp;LINQ queries to perform the counts -&amp;nbsp;these are triggered when each row in my GridView is bound (OnRowDataBound event). So you can probably imagine, I&amp;#39;m cycling through all the records in my database four times for each row in my table. It is likely that this ASP .net page will eventually contain 3-4 tables, all populated in this similar way.&lt;/p&gt;
&lt;p&gt;What I&amp;#39;m doing seems&amp;nbsp;totally inefficient and I imagine isn&amp;#39;t doing my SQL database a lot of good. What is the &amp;#39;best practice&amp;#39; approach when you need to perform a lot of counts on rows&amp;nbsp;in a&amp;nbsp;database&amp;nbsp;based on different criteria? How is it best to do it? Although I&amp;#39;m using a GridView at the moment to display the data,&amp;nbsp;it doesn&amp;#39;t have to be -- I&amp;#39;m happy to use something else if you think it is better...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;pre class="coloredcode"&gt;        Dim TotalObservationsThisYear = From Observation In db.Observations _
                                      Where Observation.observationDate &amp;gt;= ReportDateFrom _
                                      And Observation.observationDate &amp;lt;= ReportDateTo _
                                      And Observation.observationPublished IsNot Nothing _
                                      And Observation.observationSubjectLevel = observationSubjectLevel.Text _
                                      Select Observation.observationID
        Return TotalObservationsThisYear.Count

        Dim TotalObservationsEver = From Observation In db.Observations _
                                      Where Observation.observationPublished IsNot Nothing _
                                      And Observation.observationSubjectLevel = observationSubjectLevel.Text _
                                      Select Observation.observationID
        Return TotalObservationsEver.Count

        Dim CountObservationsThisYear = From Observation In db.Observations _
                                      Where Observation.observationDate &amp;gt;= ReportDateFrom _
                                      And Observation.observationDate &amp;lt;= ReportDateTo _
                                      And Observation.observationOverallGrade = observationOverallGrade _
                                      And Observation.observationPublished IsNot Nothing _
                                      And Observation.observationSubjectLevel = observationSubjectLevel.Text _
                                      Select Observation.observationID
        Return CountObservationsThisYear.Count

        Dim CountObservationsEver = From Observation In db.Observations _
                                      Where Observation.observationPublished IsNot Nothing _
                                      And Observation.observationOverallGrade = observationOverallGrade _
                                      And Observation.observationSubjectLevel = observationSubjectLevel.Text _
                                      Select Observation.observationID
        Return CountObservationsEver.Count

&lt;/pre&gt;&amp;nbsp; 
&lt;p&gt;I&amp;#39;d really appreciate your help/advice on this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Many thanks&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Daniel&lt;/p&gt;</description></item></channel></rss>