게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 레코드셋 문제때문에 질문 올립니다. ^^;;
작성자: 송원석
작성일시: 2007-05-16 16:09,  조회수: 3,629
계속해서 정리를 해보면...

일단 장윤태님께서 최종적으로 원하시는 것은 다음과 같은 것이라고 생각합니다.
레코드셋의 사본을 프로시저에 전달하고 원본 레코드셋에 영향을 주지 않고 디버그용 데이터를 출력한다.
그렇죠? ^_^;;;

그런데 문제는 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

re: 레코드셋 문제때문에 질문 올립니다. ^^;; [2]

송원석

2007-05-16 6,124
1,664

re: 레코드셋 문제때문에 질문 올립니다. ^^;;

장윤태

2007-05-16 3,940

re: 레코드셋 문제때문에 질문 올립니다. ^^;; [1]

송원석

2007-05-16 3,629
1,662

re: 레코드셋 문제때문에 질문 올립니다. ^^;;

장윤태

2007-05-17 4,382
1,661

re: 레코드셋 문제때문에 질문 올립니다. ^^;; [1]

송원석

2007-05-17 3,394
1,660

파일다운로드시 질문좀 드립니다.

김창희

2007-04-20 1,411
1,659

re: 파일다운로드시 질문좀 드립니다.

송원석

2007-04-20 3,114
1,658

안녕하세요 염치불구하고 질문하나 드립니다. [2]

정진범

2007-04-16 3,363
1,657

re: 안녕하세요 염치불구하고 질문하나 드립니다. [2]

송원석

2007-04-16 3,516
1,656

안녕하세요..초면에 죄송합니다.

김창희

2007-04-14 1,218
1,655

re: 안녕하세요..초면에 죄송합니다.

송원석

2007-04-15 3,530
1,654

권한문제에 대해

이법상

2007-04-10 1,781
1,653

re: 권한문제에 대해

송원석

2007-04-10 3,367
1,652

re: 해결했습니다^^하나만더 여쭤볼께요

이법상

2007-04-10 1,398
1,651

re: 해결했습니다^^하나만더 여쭤볼께요

송원석

2007-04-10 3,345
1,648

파일큐브 0.0.7 에서 가상디렉토리 설정

순자

2007-04-06 1,380
1,647

re: 파일큐브 0.0.7 에서 가상디렉토리 설정

송원석

2007-04-07 3,228
1,646

ASP에서 유니코드 엔코딩에 관한...^^

이승재

2007-04-06 1,506
1,645

re: ASP에서 유니코드 엔코딩에 관한...^^ [1]

송원석

2007-04-06 3,357
1,644

Asp에서 가상디렉토리 쿠키공유 질문 드립니다.

maotai

2007-04-03 1,599
1,643

re: Asp에서 가상디렉토리 쿠키공유 질문 드립니다.

송원석

2007-04-04 3,524
1,642

.net 2.0 webbrowser 컨트롤 질문

구나구나

2007-03-29 3,471
1,641

re: .net 2.0 webbrowser 컨트롤 질문

송원석

2007-03-29 4,525
1,640

re: .net 2.0 webbrowser 컨트롤 질문 [1]

구나구나

2007-03-29 4,018
1,639

FileCube을 개인별(아이디) 로 용량을 주어 사용가능한가요...

koiman

2007-03-27 1,233