Microsoft MVP성태의 닷넷 이야기
[답변]: sqlhelper 의 updatedataset [링크 복사], [링크+제목 복사],
조회: 13287
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

SQLHelper라는 것이... "Enterprise Library"의 Database개체를 말씀하시는 거죠?
일단, 그런 것으로 가정하고 답변을 드리자면.

음... EntLib 소스를 열어보면 아시겠지만, UpdateDataSet 은 결국 DataAdapter 의 Update 메서드를 호출하는 래퍼에 불과합니다.
어찌되었든, 그 메서드는 "테이블" 단위로 실행이 될 뿐, DataSet 내부의 DataRelation을 파악해 가면서 테이블들에 대해 루프를 돌면서 실행하는 것은 아니기 때문에, 말씀하신 것처럼 직접 "query"의 순서를 변경해 가면서 해결해야 합니다.

단지, delete 의 경우에는 DB 측에서 외래키 관계를 맺고 있는 자식 테이블의 필드 설정에서 "Delete Rule" 을 "Cascade"로 설정하는 정도만이 가능하겠습니다.

혹시나, "한귀순"님께서 DataApdater를 상속받아서 DataRelation을 고려한 Update 메서드를 직접 구현하시겠다면... 말리지는 않겠습니다. ^^








[최초 등록일: ]
[최종 수정일: 2/23/2007]


비밀번호

댓글 작성자
 



2007-03-03 09시39분
[한귀순] 정신없어서 이제야 확인했네요.. 답변 감사합니다. ^^
그것만으로는 역시 방법이 없는거군요.... DataAdapter 는 못만들고, 결국 relation 있는 테이블들을 다 한번에 받아서
insert 할때랑 delete 할때랑 순서 조절할 수 있게 UpdateDataset 을 확장한 메소드를 하나 만들었어요.. ^^
감사합니다.. ^^
[guest]

NoWriterDateCnt.TitleFile(s)