Problem in CRecordSet
-
Hi friends I am really new with Visual C++. I am using MS Access for DB. I am trying to take data from a table and pass it to my recordset rs. I am trying to check if i have received any records for my statement. my code is rs is CRecordSet. While(!rs.IsEof) {} Here even when my DB has returned no data it goes inside the While statement. I believe this is the standard statement to check if you DB has returned zero rows or no data, or whatsoever. But even when i get Data or i dont still it executes statements inside While. Any help would be appreciated. Thanks Cheers Menon
-
Hi friends I am really new with Visual C++. I am using MS Access for DB. I am trying to take data from a table and pass it to my recordset rs. I am trying to check if i have received any records for my statement. my code is rs is CRecordSet. While(!rs.IsEof) {} Here even when my DB has returned no data it goes inside the While statement. I believe this is the standard statement to check if you DB has returned zero rows or no data, or whatsoever. But even when i get Data or i dont still it executes statements inside While. Any help would be appreciated. Thanks Cheers Menon
-
hi there I am using while(rs.IsEOF()) {} but still...it goes inside the while loop. thanks Cheers Menon
mady1380 wrote:
while(rs.IsEOF()) {} but still...it goes inside the while loop.
Because
rs.IsEOF()
is evaluating to true, thus thewhile
loop is executing. Why don't you copy/paste the exact code you are using rather than mangle it all up by retyping it?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
mady1380 wrote:
while(rs.IsEOF()) {} but still...it goes inside the while loop.
Because
rs.IsEOF()
is evaluating to true, thus thewhile
loop is executing. Why don't you copy/paste the exact code you are using rather than mangle it all up by retyping it?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
Hi Friends i am Sorry for not writing the complete code. Here is my code CRecordset rs( &db ); tmp.Format( _T("SELECT MAX(Polhsh_ID) FROM Polhsh WHERE Installation_ID = %d"), Installation_ID); db.ExecuteSQL( tmp ); rs.Open( CRecordset::forwardOnly, tmp, CRecordset::readOnly ); while( !rs.IsEOF()) { CDBVariant ID; rs.GetFieldValue( (short)0, ID ); m_Polhsh_ID= ID.m_lVal; Now my problem is even though my Table Polhsh is empty and has no records, it is going inside the while loop. And henceforth i get an error as the line rs.GetFieldValue( (short)0, ID ); Thanks Cheers Menon
-
Hi Friends i am Sorry for not writing the complete code. Here is my code CRecordset rs( &db ); tmp.Format( _T("SELECT MAX(Polhsh_ID) FROM Polhsh WHERE Installation_ID = %d"), Installation_ID); db.ExecuteSQL( tmp ); rs.Open( CRecordset::forwardOnly, tmp, CRecordset::readOnly ); while( !rs.IsEOF()) { CDBVariant ID; rs.GetFieldValue( (short)0, ID ); m_Polhsh_ID= ID.m_lVal; Now my problem is even though my Table Polhsh is empty and has no records, it is going inside the while loop. And henceforth i get an error as the line rs.GetFieldValue( (short)0, ID ); Thanks Cheers Menon
mady1380 wrote:
db.ExecuteSQL( tmp );
This statement is not necessary.
mady1380 wrote:
Now my problem is even though my Table Polhsh is empty and has no records...
How are you verifying this?
mady1380 wrote:
And henceforth i get an error as the line rs.GetFieldValue( (short)0, ID );
What error?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
mady1380 wrote:
db.ExecuteSQL( tmp );
This statement is not necessary.
mady1380 wrote:
Now my problem is even though my Table Polhsh is empty and has no records...
How are you verifying this?
mady1380 wrote:
And henceforth i get an error as the line rs.GetFieldValue( (short)0, ID );
What error?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
The Error is First-chance exception at 0x77e55e02 in PigMaster-S.exe: Microsoft C++ exception: CDBException @ 0x0012dc74. The Verification Statement is supposed to be while( !rs.IsEOF()) //VERIFY { I hope the above statement is used to verify if it has data or not? Thanks Cheers Menon
-
The Error is First-chance exception at 0x77e55e02 in PigMaster-S.exe: Microsoft C++ exception: CDBException @ 0x0012dc74. The Verification Statement is supposed to be while( !rs.IsEOF()) //VERIFY { I hope the above statement is used to verify if it has data or not? Thanks Cheers Menon
mady1380 wrote:
First-chance exception at 0x77e55e02 in PigMaster-S.exe: Microsoft C++ exception: CDBException @ 0x0012dc74.
Step into the
GetFieldValue()
call to find what statement is throwing the exception.mady1380 wrote:
The Verification Statement is supposed to be while( !rs.IsEOF()) //VERIFY { I hope the above statement is used to verify if it has data or not?
Why not issue the same SQL statement within Access to verify whether it actually has any records or not?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
mady1380 wrote:
First-chance exception at 0x77e55e02 in PigMaster-S.exe: Microsoft C++ exception: CDBException @ 0x0012dc74.
Step into the
GetFieldValue()
call to find what statement is throwing the exception.mady1380 wrote:
The Verification Statement is supposed to be while( !rs.IsEOF()) //VERIFY { I hope the above statement is used to verify if it has data or not?
Why not issue the same SQL statement within Access to verify whether it actually has any records or not?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
Hi David I have the seen the table. And there are absolutely no records in the table. And that is confirm. My only problem is. Why is it going inside the WHILE loop inspite of not having any records in the table? Is while( !rs.IsEOF()) //VERIFY { the proper statement to make check if the table is empty or not. Thanks Cheers Menon