C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[12863] TTable 질문인데요.
나그네 [] 802 읽음    2001-11-20 10:44
저는 TTable을 쓸때면 이렇게 씁니다.
전역에 TTable객체를 선언하구,
폼의 Create()에서 그 객체를 생성합니다.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  myTable = new TTable(this);
  myTable->Connection = myConnection1;
}

그리고 이 테이블 객체를 사용할때는 이렇게 사용을 합니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  myTable->Close();
  myTable->TableName = tblMyTable;
  myTable->Open();
  ..............
  ..............
}


이렇게 해서 사용을 하면 대부분 문제없이 잘 돌아 갑니다.
그런데... 위에서 버튼을 여러번 누를경우 테이블을 먼저 닫아주는 부분에서
에러가 가끔 나긴하거든요.

에러가 나는 이유를대충 보니깐.. Close()하려는 테이블에 내용이 전혀 없을경우 에러가 나더라구요.

예를 들어보면

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  switch(nCase){
     case 1:
         myTable->Close();
         myTable->TableName = tblMyTable1;
         myTable->Open();
         return;
    case 2:
         myTable->Close();
         myTable->TableName = tblMyTable2;
         myTable->Open();
         return;
   
    case 3:
         myTable->Close();
         myTable->TableName = tblMyTable3;
         myTable->Open();
         return;
  
    default:
         return;
  } 
}

이런 경우에 case가 1에서 2로 바뀔때 tblMyTable1의 내용이 있다면
myTable->Close()도 잘 하고 myTable->Open()도 잘하는데..
case 2: 에서 만약 tblMyTable2의 레토드 갯수가 하나도 없을 경우....
다시 case 3으로 넘어 간다면..
tblMyTable->Close()에서 에러가 나옵니다..


사실,, 모든 테이블은 그 내용이 들어있는건 기본 가정입니다.
하지만..이런 에러를 잡지 않은채 코딩을 한다는게 좀 걸려서요..


제가 지금 겪는 이런 에러에 대해 잘 대처할 수 있는 방법을 없을까요??

도움을 바랍니다.....

+ -

관련 글 리스트
12863 TTable 질문인데요. 나그네 802 2001/11/20
12930     Re:TTable 질문인데요. 강요찬 881 2001/11/21
12948         강요찬님의 성의있는 답변에 감사드리면서..... 나그네 910 2001/11/22
12967             Re:강요찬님의 성의있는 답변에 감사드리면서..... 강요찬 1048 2001/11/22
12974                 그렇군요... ㅡㅡ; 나그네 1005 2001/11/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.