• sqldba_newbie (2/19/2013)


    Steve Thompson-454462 (2/19/2013)


    I'm assuming that total number of pages is a presentation-level metric indicating that at a rate of x records per page, you'll need to link to, and maybe display a label that indicates there are, y total pages. In other words if you show 10 records per page and the data set has 100 rows, you'll have 10 pages.

    If so, this can very easily be done in your .NET layer. If you're using ADO objects to extract the data you can easily do something like Datatable.Rows.Count to calculate the total number of rows returned (I believe you can use a similar Count function if you're using Linq). Divide the row count by number of rows per page (adjusting for any remainder, of course) and you should be good to go.

    If my assumption of what you meant by page count is off, I apologize.

    This is EXACTLY what i was looking for.Would you have a article for reference which will define the steps which you have mentioned?

    I'm not sure how your Data Access Layer is constructed. If you use the SQLClient library to talk to your SQL Server back-end, you can create a SQLDataAdapter and use that to fill a DataTable or DataSet (a container that holds multiple DataTables). Once you have a DataTable filled with the results of your SQLCommand, you can get the row count with DataTable.Rows.Count.

    Here's a link to the MSDN page on using SQLDataAdapters: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter%28v=vs.71%29.aspx.

    Here's the page on System.Data.DataTable: http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx

    Note that if you're using a firehose-type construct to consume your data (e.g. a DataReader) you would not be able to get the row count without cursoring through the result set.