게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: 레코드셋 문제때문에 질문 올립니다. ^^;; |
---|
작성자: 송원석
작성일시: 2007-05-16 16:09,
조회수: 3,839
|
계속해서 정리를 해보면...
일단 장윤태님께서 최종적으로 원하시는 것은 다음과 같은 것이라고 생각합니다. 레코드셋의 사본을 프로시저에 전달하고 원본 레코드셋에 영향을 주지 않고 디버그용 데이터를 출력한다.그렇죠? ^_^;;; 그런데 문제는 ByVal 이 저희가 생각하는 것처럼 레코드셋의 완벽한 사본을 만들어주지 않는 다는 점입니다. 이 부분은 이미 정성태님과의 질문 답변을 통해서 설명이 되었으리라고 믿습니다. 다시 간단히 정리를 해보면 레코드셋과 같은 개체를 ByVal 로 전달하면 사본이 생기기는 하지만 레코드셋을 완벽하게 복사한 또 하나의 레코드셋이 생성되는 것이 아니라, 레코드셋 개체 참조의 사본이 생성되는 것이죠. 그래서 사본에 대한 조작이 원본에도 영향을 미치게 됩니다. 이처럼 완벽하게 개체의 복사존이 생성되는 복사를 Deep Copy 라고 하고 지금과 같이 껍데기만 복사되는 것을 Shallow Copy 라고 합니다. ^_^;;; 이 부분에서 그동안 저도 잘못된 이해를 하고 있었는데요. 저도 C# 과 같은 .NET 언어에서는 Shallow / Deep Copy 를 명확히 구분하고 있었는데, 도무지 왜 그랬는지 그동안 ASP/VBScript 의 ByVal 이 Deep Copy 를 수행한다고 생각하고 있었습니다. 아무든 결론적으로 ByVal 을 사용하여 레코드셋을 전달한다고 하더라도 결국은 원본과 완벽하게 격리된 레코드셋의 사본이 생성되지는 않습니다. 그래서 말씀하신 것과 같은 오류가 발생하는 것이구요. 그리고 결정적으로 NextRecordset 메서드를 사용하신 것이 치명적인 결과로 작용하게 된 것 같습니다. 물론 그 의도는 잘 이해하고 있습니다만, NextRecordset 메서드는 MoveFirst 메서드나 MoveLast 메서드 등과 같이 단순히 레코드 포지션만 이동하는 것이 아니라 현재 레코드셋을 크리어시켜버리고 다음 레코드셋을 리턴해줍니다. 따라서 일단은 레코트셋을 Deep Copy 하는 방법을 찾기 전까지는 NextRecordset 메서드를 사용하지 않는 기능이 축소된 버전의 디버그 프로시저를 구현하여 사용하셔야 될 듯 합니다. 저도 어제와 오늘 계속해서 레코드셋을 Deep Copy 할 수 있는 방법을 찾고 있습니다만, ASP/VBScript 에서는 아직까지 그럴 듯한 방법을 찾지 못하고 있습니다. 방법을 찾으면 바로 이 게시판에 정보를 올리도록 하겠습니다. ^_^ 감사합니다. |
IP 주소: 125.129.68.70
|
전체 1 건의 댓글이 존재합니다.
장윤태 |
네네~~ 맞습니다 ^^ 안되는군요~~ 어떠한 식으로해도 원본이 변할수 밖에 없으니 ㅜㅡ
|
2007-05-16 17:06 |
전체 2,095 건의 게시물,
84 페이지로 구성된
ASP, ASP.NET, IIS & Script 게시판의
20 페이지입니다.
게시물 | ||||
---|---|---|---|---|
1,665 | 2007-05-16 | 6,584 | ||
1,664 | 2007-05-16 | 4,166 | ||
2007-05-16 | 3,839 | |||
1,662 | 2007-05-17 | 4,587 | ||
1,661 | 2007-05-17 | 3,732 | ||
1,660 |
김창희 |
2007-04-20 | 1,411 | |
1,659 | 2007-04-20 | 3,308 | ||
1,658 | 2007-04-16 | 3,564 | ||
1,657 | 2007-04-16 | 3,733 | ||
1,656 |
김창희 |
2007-04-14 | 1,218 | |
1,655 | 2007-04-15 | 3,749 | ||
1,654 |
이법상 |
2007-04-10 | 1,781 | |
1,653 | 2007-04-10 | 3,568 | ||
1,652 |
이법상 |
2007-04-10 | 1,398 | |
1,651 | 2007-04-10 | 3,545 | ||
1,648 |
순자 |
2007-04-06 | 1,380 | |
1,647 | 2007-04-07 | 3,499 | ||
1,646 |
이승재 |
2007-04-06 | 1,506 | |
1,645 | 2007-04-06 | 3,553 | ||
1,644 |
maotai |
2007-04-03 | 1,599 | |
1,643 | 2007-04-04 | 3,722 | ||
1,642 | 2007-03-29 | 3,671 | ||
1,641 | 2007-03-29 | 4,727 | ||
1,640 | 2007-03-29 | 4,214 | ||
1,639 |
koiman |
2007-03-27 | 1,233 |