|
: 시후 님이 쓰신 글 :
: db는 파라독스를 섰구요..테이블에는 99개의 CODE값을 가지고 있고요..FLAG1,FLAG2가 있습니다.
: CODE값 중에서 FLAG1에 1값이 있으면 아래의 실행부를 실행하구요..NULL이면 레코드카운트를 이동하고요..이것도 저것도 아니면 메세지를 띄울려구 하는데..
:
: ITEM->Open();
: ITEM->First();
:
: for(cnt = 0 ; cnt < ITEM->RecordCount ; cnt++)
: {
: if(ITEM->FieldByName("FLAG1")->AsString == "1") //실행부;
: else if(ITEM->FieldByName("FLAG1")->AsString == NULL) ITEM->Next();
: else ShowMessage("입력번호가 틀립니다");
: }
: ITEM->Close();
:
: 대충 이런 형태인데..카운트가 99개니깐 FLAG1이 NULL값이면 이게 레코드카운트를 다 돌리고 기냥
: 빠져 버리걸랑요..카운트 다 돌고 값이 없으면 ShowMessage를 보여야 하는데..이건 암만 생각해도
: 루틴이 생각이 안나네요...
: 매일 열분 고수님들을 괴롭혀서 지송합니다..
:
님의 정확한 의도를 모르겠습니다만,
님께서 하신 말씀
" 카운트가 99개니깐 FLAG1이 NULL값이면 이게 레코드카운트를 다 돌리고 기냥
빠져 버리걸랑요..카운트 다 돌고 값이 없으면 ShowMessage를 보여야 하는데.."
중,
"카운트 다 돌고 값이 없으면 ShowMessage를 보여야 하는데.."
위의 코드중 어디에도 for루프를 마치고 메세지를 출력하는 곳은 없는데...
님의 말씀이 무슨 뜻인지?
FLAG1의 값이 "1"이거나 NULL이외의 값이어야만
else ShowMessage("입력번호가 틀립니다");
for루프를 실행 중 위 문장을 수행하고,
for루프를 샐행후에는 아무것도 ...
아래 내용은 어떨지?
/*****************************************************/
bool ErrorFlag = false;
bool NullFlag = false;
ITEM->Open();
ITEM->First();
for(int cnt = 0 ; cnt < ITEM->RecordCount ; cnt++) {
if(ITEM->FieldByName("FLAG1")->AsString == "1"){
//실행부;
}
else if(ITEM->FieldByName("FLAG1")->AsString == NULL){
NullFlag = true;
}
else {
ErrorFlag = true;
}
ITEM->Next();
}
ITEM->Close();
if(ErrorFlag == true){
ShowMessage("입력에 오류가 있습니다.");
}
if(NullFlag == true){
ShowMessage("입력번호가 틀립니다");
}
/*****************************************************/
|