DB가 뭔가요?
OS는요?
RecordCount 는 MS-SQL에서는 지원하는데..
( OS나 sql버젼에 따라 다름)
다른 DB 에서는 지원을 잘 하지 않는 표준이 아닌걸로 알고 있습니다.
다음과 같이 Eof를 체크해서 해야 합니다.
while (! Query->Eof )
{
///
};
그럼..
흑시사 님이 쓰신 글 :
: dbexpress을 사용하여 select 후 recordcount를 가져오면 error가 납니다.
: 이유를 모르겠네요
: 도움 부탁 드립니다.
: //---------------------------------------------------------------------------
: int THsEngelDB::OpenQuary( char *message, char *msg )
: {
: char buff[512];
: int i, cnt, inx;
:
: try {
: MasterQuery->Open();
: cnt = MasterQuery->RecordCount; //,<----------- ERROR 부분 에서 ERROR 발생
:
:
: return( cnt );
: }
: catch( EDatabaseError &E )
: {
: wsprintf( msg , "Error[%s] = %s", message, E.Message );
: return(-1);
: };
:
: }
:
: //------------------------------------------------------------------------------------------------------
: int THsEngelDB::Sabon_Search(char *emp_no, char *name, char *pwd, int *level, char *msg )
: {
: bool bret;
: int len, cnt;
: String sSql;
:
: QueryInit();
: if( MasterQuery->Active ) MasterQuery->Close();
: MasterQuery->SQL->Clear();
: sSql = " SELECT USER_NAME AS EMP_NA, PASSWORD AS PASS_WORD, USER_ID AS EMP_NO";
: sSql += " FROM SYS_USER";
: MasterQuery->SQL->Add( sSql );
:
: if( cnt < 0 ) return;
: len = MasterQuery->FieldByName( "EMP_NA" )->AsString.Length();
: memcpy( name, MasterQuery->FieldByName( "EMP_NA" )->AsString.c_str(), len );
: len = MasterQuery->FieldByName( "PASS_WORD" )->AsString.Length();
: memcpy( pwd, MasterQuery->FieldByName( "PASS_WORD" )->AsString.c_str(), len );
: return(1);
:
: }