Q&A

  • 3개의 마스터 디테일 테이블저장순서조정.?
3개의 테이블간에 마스터 디테일 테이블관계를 연결돼 있습니다.

Table1
Table2
Table3
이 있는데,

Table1의 PK-> cust_id,
Table2의 PK-> d_name, FK-> cust_id(Table1의 cust_id)
Table3는 PK-> (cust_id,d_name)
으로 구성돼 있습니다.

Table1(Master) => Table2(Detail) 는 cust_id로 마스터/디테일 설정돼 있고,
Table2(Master) => Table3(Detail) 는 cust_id, d_name으로 마스터/디테일이 설정돼있지요..

그런데,
위 3개의 테이블칼럼의 정보를 입력할려고할때..
문제는 각 테이블에 해당하는 칼럼을 입력하고 다음칼럼테이블입력할려고 포커스가 이동되면....
델파이가 자동으로 post해버리면서...
post순서가...

Table3 => Table2 => Table1의 순서로 하는 것 같더군요...
그러니까, Table3를 입력하는데,,
포린키로 잡혀있는 Table2의 d_name이 아직 값이 없으니..마스터값이 없다거나, 외래키가 잘못댔다고  에러를 띄웁니다....

각 마스터/디테일간 포커스 이동시 자옹업데이트 post가 안되게 하고,,
나중에 사용자가 "저장"버튼을 누를때...
Table1.post;
Table2.post;
Table3.post;
순서로 저장되게 하면 에러가 안뜰 것 같은데...????

어찌해야 하는지..

무림고수의 내공부탁합니다.
5  COMMENTS
  • Profile
    착한천사 2004.08.15 03:26
    이겅.. 답변 다 썼다가.. 글쓰기 버튼을 안누르고,
    목록보기를 눌러버려서.. 다 날라가버렸네요..  *^^*
    다시쓸려니.. 쩝..
    우쨌든 결과적으로..
    Table 컴포넌트만 사용하셨다는 뜻이죠?
    그럼..
    TUpdateSQL을 사용해서 CachedUpdate로 사용해 보세요..
    실제 Update는 되지 않고..
    메모리상에서 insert/update/delete가 일어나니까요...
    ApplyUpdates, CommitUpdate를 호출해야지만..
    실제로 Table에 저장된답니다..
    답이 되셨는지..


  • Profile
    강가딘 2004.08.15 06:04
    후후,,
    델고수와 키보드 고수와는 별개인듯...!!
    고맙습니다.
  • Profile
    착한천사 2004.08.16 05:48
    샘플을 원하시면, 자료실에 제가 올렸던 것이 있슴다..
    아주 아주.. 간단하게..
    만들어 놓았으며, 코딩에는 주석도 조금 달아서.. 설명도 해 놓았슴다..
    조회수가.. 1000이 넘었다고 보이던데..
    헤헤..
    1500인가??  흠..
    우쨌든..
    추천합니다.. 제꺼..


  • Profile
    강가딘 2004.08.18 01:00
    자료실에 아무리 뒤져봐도없네요??

    착한천사라는 이름으로 검색도 안되고,,

    마스터, 디테일 단어제목으로도 검색이 아안되고..
    흠..

    우얏든,
    답변 감솨합니다.


  • Profile
    착한천사 2004.08.18 02:51
    김경록으로 검색하면 나오는데..
    제가 검색해 본 결과
    파일이 제거된 듯 합니다..
    흠..
    조회수 1700이 넘구, 다운로드도 900건 이상이엇는데..
    아.. 아깝네요..
    그래도 기능적으로 좀 한다구 해 놓은것인데..
    너무 쉬운 내용이라서..
    BDE와 ADO의 내용을 비교한 것이라서..
    좀 아깝군요..
    게시판에 쥔장에게 항의글을 올리긴 했습니다만..
    어떻게될지는 잘 모르겠습니다..
    죄송합니다..