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. Navigation Error

Navigation Error

Scheduled Pinned Locked Moved C / C++ / MFC
databasehelp
14 Posts 3 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.
  • P prasad_som

    shouvik.d wrote:

    Even after issuing MoveFirst() the pointer is pointing to 1118

    Have you queried for all these records ? If yes, have you used any ORDER BY clause ? Can you show that code ?

    Prasad Notifier using ATL | Operator new[],delete[][^]

    S Offline
    S Offline
    Shouvik Das
    wrote on last edited by
    #3

    can u let me know one thing. if in access i'm getting that specified view doesn't make sure that internally the record is stored in that order only. is it so. then this clarifies all my query. i mean i've entered all my recs in an ascending order format by Ac_No as primary key. So the disp is also in ascending order of the values of Ac_no. does that not mean the internal record storage order is the same:confused:

    Shouvik

    P 1 Reply Last reply
    0
    • S Shouvik Das

      can u let me know one thing. if in access i'm getting that specified view doesn't make sure that internally the record is stored in that order only. is it so. then this clarifies all my query. i mean i've entered all my recs in an ascending order format by Ac_No as primary key. So the disp is also in ascending order of the values of Ac_no. does that not mean the internal record storage order is the same:confused:

      Shouvik

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

      shouvik.d wrote:

      if in access i'm getting that specified view doesn't make sure that internally the record is stored in that order only

      Not sure.

      Prasad Notifier using ATL | Operator new[],delete[][^]

      1 Reply Last reply
      0
      • P prasad_som

        shouvik.d wrote:

        Even after issuing MoveFirst() the pointer is pointing to 1118

        Have you queried for all these records ? If yes, have you used any ORDER BY clause ? Can you show that code ?

        Prasad Notifier using ATL | Operator new[],delete[][^]

        S Offline
        S Offline
        Shouvik Das
        wrote on last edited by
        #5

        Here's my code. plz help u've always been to my rescue first time;)

                    `m_pSet->Close(); 		query="Select * from Book where Name like '%"+name.Left(5)+"%' AND Author LIKE '%"+auth.Left(5)+"%' Order By Ac_No" ; 		m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none); 		m_pSet->MoveFirst(); 		do 		{ 			Item.Empty(); 			name=m_pSet->m_Name; 			auth=m_pSet->m_Author; 			Item=m_pSet->m_Ac_No+"\t"+name+"\t"+auth+"\t"+CLibManView::GetStatus(m_pSet->m_Stat); 			lb->AddString(Item); 			m_pSet->MoveNext(); 		}while(!m_pSet->IsEOF());`
        

        Hope this is suff 4 u

        Shouvik

        P D 2 Replies Last reply
        0
        • S Shouvik Das

          Here's my code. plz help u've always been to my rescue first time;)

                      `m_pSet->Close(); 		query="Select * from Book where Name like '%"+name.Left(5)+"%' AND Author LIKE '%"+auth.Left(5)+"%' Order By Ac_No" ; 		m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none); 		m_pSet->MoveFirst(); 		do 		{ 			Item.Empty(); 			name=m_pSet->m_Name; 			auth=m_pSet->m_Author; 			Item=m_pSet->m_Ac_No+"\t"+name+"\t"+auth+"\t"+CLibManView::GetStatus(m_pSet->m_Stat); 			lb->AddString(Item); 			m_pSet->MoveNext(); 		}while(!m_pSet->IsEOF());`
          

          Hope this is suff 4 u

          Shouvik

          P Offline
          P Offline
          prasad_som
          wrote on last edited by
          #6

          shouvik.d wrote:

          query="Select * from Book where Name like '%"+name.Left(5)+"%' AND Author LIKE '%"+auth.Left(5)+"%' Order By Ac_No" ; m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none);

          I hope this gives you expected no. of records. Use CRecordset::m_strSort to sort the records.

          Prasad Notifier using ATL | Operator new[],delete[][^]

          S 1 Reply Last reply
          0
          • P prasad_som

            shouvik.d wrote:

            query="Select * from Book where Name like '%"+name.Left(5)+"%' AND Author LIKE '%"+auth.Left(5)+"%' Order By Ac_No" ; m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none);

            I hope this gives you expected no. of records. Use CRecordset::m_strSort to sort the records.

            Prasad Notifier using ATL | Operator new[],delete[][^]

            S Offline
            S Offline
            Shouvik Das
            wrote on last edited by
            #7

            I tried but funniest part is its adding the records instead of sorting them so i used a query instead.

            Shouvik

            P 1 Reply Last reply
            0
            • S Shouvik Das

              I tried but funniest part is its adding the records instead of sorting them so i used a query instead.

              Shouvik

              P Offline
              P Offline
              prasad_som
              wrote on last edited by
              #8

              shouvik.d wrote:

              I tried but funniest part is its adding the records instead of sorting them

              Can you show code ? what you have tried ? It can be,

              m_pSet->Open();
              m_pSet->m_strSort = "par, par1";
              m_pSet->Requery();//use CanRestart, to check if this function can be called

              Prasad Notifier using ATL | Operator new[],delete[][^]

              S 2 Replies Last reply
              0
              • P prasad_som

                shouvik.d wrote:

                I tried but funniest part is its adding the records instead of sorting them

                Can you show code ? what you have tried ? It can be,

                m_pSet->Open();
                m_pSet->m_strSort = "par, par1";
                m_pSet->Requery();//use CanRestart, to check if this function can be called

                Prasad Notifier using ATL | Operator new[],delete[][^]

                S Offline
                S Offline
                Shouvik Das
                wrote on last edited by
                #9

                But the records are already sorted.

                Shouvik

                P 1 Reply Last reply
                0
                • S Shouvik Das

                  But the records are already sorted.

                  Shouvik

                  P Offline
                  P Offline
                  prasad_som
                  wrote on last edited by
                  #10

                  shouvik.d wrote:

                  But the records are already sorted

                  By what ? If it is sorted by Ac_No , MoveFirst() should point to correct record in order.

                  Prasad Notifier using ATL | Operator new[],delete[][^]

                  1 Reply Last reply
                  0
                  • P prasad_som

                    shouvik.d wrote:

                    I tried but funniest part is its adding the records instead of sorting them

                    Can you show code ? what you have tried ? It can be,

                    m_pSet->Open();
                    m_pSet->m_strSort = "par, par1";
                    m_pSet->Requery();//use CanRestart, to check if this function can be called

                    Prasad Notifier using ATL | Operator new[],delete[][^]

                    S Offline
                    S Offline
                    Shouvik Das
                    wrote on last edited by
                    #11

                    I said its all entered in Ascending order. So the retrievel is sorted irrespective of anything. Still the pointer remains stuck at 1118. i'm g:(ing nuts

                    Shouvik

                    1 Reply Last reply
                    0
                    • S Shouvik Das

                      Here's my code. plz help u've always been to my rescue first time;)

                                  `m_pSet->Close(); 		query="Select * from Book where Name like '%"+name.Left(5)+"%' AND Author LIKE '%"+auth.Left(5)+"%' Order By Ac_No" ; 		m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none); 		m_pSet->MoveFirst(); 		do 		{ 			Item.Empty(); 			name=m_pSet->m_Name; 			auth=m_pSet->m_Author; 			Item=m_pSet->m_Ac_No+"\t"+name+"\t"+auth+"\t"+CLibManView::GetStatus(m_pSet->m_Stat); 			lb->AddString(Item); 			m_pSet->MoveNext(); 		}while(!m_pSet->IsEOF());`
                      

                      Hope this is suff 4 u

                      Shouvik

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

                      Try this instead:

                      m_pSet->Close();
                      query = "Select * from Book where Name like '%" + name.Left(5) + "%' AND Author LIKE '%" + auth.Left(5) + "%' Order By Ac_No";
                      m_pSet->Open(CRecordset::dynaset, query, CRecordset::none);
                      while(! m_pSet->IsEOF())
                      {
                      name = m_pSet->m_Name;
                      auth = m_pSet->m_Author;
                      Item = m_pSet->m_Ac_No + "\t" + name + "\t" + auth + "\t" + CLibManView::GetStatus(m_pSet->m_Stat);
                      lb->AddString(Item);
                      m_pSet->MoveNext();
                      }


                      "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                      "Judge not by the eye but by the heart." - Native American Proverb

                      S 2 Replies Last reply
                      0
                      • D David Crow

                        Try this instead:

                        m_pSet->Close();
                        query = "Select * from Book where Name like '%" + name.Left(5) + "%' AND Author LIKE '%" + auth.Left(5) + "%' Order By Ac_No";
                        m_pSet->Open(CRecordset::dynaset, query, CRecordset::none);
                        while(! m_pSet->IsEOF())
                        {
                        name = m_pSet->m_Name;
                        auth = m_pSet->m_Author;
                        Item = m_pSet->m_Ac_No + "\t" + name + "\t" + auth + "\t" + CLibManView::GetStatus(m_pSet->m_Stat);
                        lb->AddString(Item);
                        m_pSet->MoveNext();
                        }


                        "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                        "Judge not by the eye but by the heart." - Native American Proverb

                        S Offline
                        S Offline
                        Shouvik Das
                        wrote on last edited by
                        #13

                        Sorry David Still stuck at 1118. cant trace out the prob at all. I think the internal pattern of storage is so that 1118 is the first record.

                        Success makes life easier. It doesn't make living easier. SHOUVIK

                        1 Reply Last reply
                        0
                        • D David Crow

                          Try this instead:

                          m_pSet->Close();
                          query = "Select * from Book where Name like '%" + name.Left(5) + "%' AND Author LIKE '%" + auth.Left(5) + "%' Order By Ac_No";
                          m_pSet->Open(CRecordset::dynaset, query, CRecordset::none);
                          while(! m_pSet->IsEOF())
                          {
                          name = m_pSet->m_Name;
                          auth = m_pSet->m_Author;
                          Item = m_pSet->m_Ac_No + "\t" + name + "\t" + auth + "\t" + CLibManView::GetStatus(m_pSet->m_Stat);
                          lb->AddString(Item);
                          m_pSet->MoveNext();
                          }


                          "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                          "Judge not by the eye but by the heart." - Native American Proverb

                          S Offline
                          S Offline
                          Shouvik Das
                          wrote on last edited by
                          #14

                          Since nothing worked out i changed the whole structure its like this

                          void CLibManView::OnDblclkBooks() 
                          {
                          	CString str;
                          	lb->GetText(lb->GetCurSel(),str);
                              m_pSet->Close();
                          	query = "Select * from Book where Ac_No='"+str.Left(4)+"'";
                          	m_pSet->Open(CRecordset::dynaset, (LPCTSTR)query,CRecordset::none);
                          	if(m_pSet->IsBOF() && m_pSet->IsEOF())
                          		MessageBox("No records available in the database");
                          	else
                          	{
                          		MessageBox(m_pSet->m_Ac_No+"      "+GetStatus(m_pSet->m_Stat));	
                          	}
                          }
                          

                          this works with precision :)

                          Success makes life easier. It doesn't make living easier. SH:)UVIK

                          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