Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Getting the number of records in a recordset

Getting the number of records in a recordset

Scheduled Pinned Locked Moved C / C++ / MFC
databasequestion
14 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S SWDevil

    Nope - I tried that and it doesn't work :) It gives 1 record as the result...

    P Offline
    P Offline
    psramu
    wrote on last edited by
    #4

    U just move to the first record and now loop until the end of records take a variable and increment it inside the loop with MOVENEST() function. the variable holds the total records count

    S 1 Reply Last reply
    0
    • P psramu

      U just move to the first record and now loop until the end of records take a variable and increment it inside the loop with MOVENEST() function. the variable holds the total records count

      S Offline
      S Offline
      SWDevil
      wrote on last edited by
      #5

      I don't understand what you mean... can you write some code maybe? and by the way, I would rather not use a loop - it's not very efficient... I need an efficient solution :)

      1 Reply Last reply
      0
      • M Monty2

        Been a long time since i programmed in ADO but IIRC you don't need to

        while (!pSet->IsEOF()) //pSet is a pointer to the recordset
        pSet->MoveNext();

        pSet->MoveLast();
        pSet->GetRecordCount();//something like this

        Hope it helps


        The statement below is true.
        The statement above is false.

        D Offline
        D Offline
        David Crow
        wrote on last edited by
        #6

        Monty2 wrote:

        pSet->GetRecordCount();//something like this

        This will simply give you the “high water mark” — the highest-numbered record yet seen as the user moves through the records.


        "The largest fire starts but with the smallest spark." - David Crow

        S 1 Reply Last reply
        0
        • S SWDevil

          hi, I have a recordset which contains the results of a query, and I want to get the number of records in the recordset. I tried to use the GetRecordCount function, but I understood that I have to go through the whole recordset in order to get the number of records. So I have this loop in my code which is very inefficient: while (!pSet->IsEOF()) //pSet is a pointer to the recordset pSet->MoveNext(); I thouhgt to do an SQL query using COUNT, but it requires a simple query (something like: SELECT COUNT (*) FROM Table1 ) and my query is not a simple one. It contains selection of a number of records, and Inner joins of tables and an ORDER BY clause. Is there another way to get the number of records in a recordset? Any suggestions?

          D Offline
          D Offline
          David Crow
          wrote on last edited by
          #7

          SWDevil wrote:

          Is there another way to get the number of records in a recordset?

          You can use JOINs with the COUNT() clause. Simply put COUNT() around the columns that you are querying.


          "The largest fire starts but with the smallest spark." - David Crow

          S 1 Reply Last reply
          0
          • D David Crow

            Monty2 wrote:

            pSet->GetRecordCount();//something like this

            This will simply give you the “high water mark” — the highest-numbered record yet seen as the user moves through the records.


            "The largest fire starts but with the smallest spark." - David Crow

            S Offline
            S Offline
            SWDevil
            wrote on last edited by
            #8

            Yeah - I know. That's why I need another solution... Is there another way to get the number of records in a recordset other than going through the recordset with a loop or using COUNT? -- modified at 9:23 Tuesday 16th May, 2006

            D 1 Reply Last reply
            0
            • D David Crow

              SWDevil wrote:

              Is there another way to get the number of records in a recordset?

              You can use JOINs with the COUNT() clause. Simply put COUNT() around the columns that you are querying.


              "The largest fire starts but with the smallest spark." - David Crow

              S Offline
              S Offline
              SWDevil
              wrote on last edited by
              #9

              I tried doing that (in SQL server) and it doesn't work...

              D 1 Reply Last reply
              0
              • S SWDevil

                I tried doing that (in SQL server) and it doesn't work...

                D Offline
                D Offline
                David Crow
                wrote on last edited by
                #10

                Ok, so just use COUNT(*), leaving the JOIN and WHERE clauses intact.


                "The largest fire starts but with the smallest spark." - David Crow

                1 Reply Last reply
                0
                • S SWDevil

                  Yeah - I know. That's why I need another solution... Is there another way to get the number of records in a recordset other than going through the recordset with a loop or using COUNT? -- modified at 9:23 Tuesday 16th May, 2006

                  D Offline
                  D Offline
                  David Crow
                  wrote on last edited by
                  #11

                  SWDevil wrote:

                  Is there another way to get the number of records in a recordset other than going through the recordset with a loop or using COUNT?

                  Have you considered/tried a stored procedure?


                  "The largest fire starts but with the smallest spark." - David Crow

                  S 1 Reply Last reply
                  0
                  • D David Crow

                    SWDevil wrote:

                    Is there another way to get the number of records in a recordset other than going through the recordset with a loop or using COUNT?

                    Have you considered/tried a stored procedure?


                    "The largest fire starts but with the smallest spark." - David Crow

                    S Offline
                    S Offline
                    SWDevil
                    wrote on last edited by
                    #12

                    Ummmm - no. don't really know what that is...

                    D 1 Reply Last reply
                    0
                    • S SWDevil

                      Ummmm - no. don't really know what that is...

                      D Offline
                      D Offline
                      David Crow
                      wrote on last edited by
                      #13

                      If you are going to be using SQL Server for anything othern than a novelty, I consider it a must-have in the developer's toolbox. http://www.awprofessional.com/articles/article.asp?p=25288&rl=1[^] http://databases.about.com/od/sqlserver/l/aastoredprocs.htm[^] http://www.sqlteam.com/item.asp?ItemID=563[^] http://www.codeproject.com/database/mssqltutorial.asp[^]


                      "The largest fire starts but with the smallest spark." - David Crow

                      S 1 Reply Last reply
                      0
                      • D David Crow

                        If you are going to be using SQL Server for anything othern than a novelty, I consider it a must-have in the developer's toolbox. http://www.awprofessional.com/articles/article.asp?p=25288&rl=1[^] http://databases.about.com/od/sqlserver/l/aastoredprocs.htm[^] http://www.sqlteam.com/item.asp?ItemID=563[^] http://www.codeproject.com/database/mssqltutorial.asp[^]


                        "The largest fire starts but with the smallest spark." - David Crow

                        S Offline
                        S Offline
                        SWDevil
                        wrote on last edited by
                        #14

                        Thanks - I'll look at the links :)

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups