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.
  • 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.

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

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

    P 1 Reply Last reply
    0
    • 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