2014-09-15 10 views
1

통합 브로커에 게시 할 하나의 행 집합에서 두 개의 개별 레코드를 채우는 방법을 찾으려고합니다. 나는 (사람의 레벨 0 레코드에 대한 기록 이름 및 RS의 레벨 1 RS1) 각각 따로 두 행 집합을 작성하고행 집합 내부에 2 개의 레코드 채우기

&RS1 = CreateRowset(Record.NAMES); 
&RS1.Fill("Where emplid=:1 and name_type=:2", &emplid, &nameType); 

&RS = CreateRowset(Record.PERSON, &RS1); 
&RS.Fill("Where emplid=:1", &emplid); 

는 또한 위의 코드 후이를 사용하려고하고 이름 레코드가 표시 didnt는 행 집합

&RS1.CopyTo(&RS, Record.NAMES, Record.PERSON); 

에 문제는이 실행 된 후 나는 & RS 볼 때, & RS의 이름 레코드를 & RS1에서 이름 정보를 전혀 포함하지 않는 것입니다,하지만 사람 레코드가 채워집니다. 아무도 나를 & RS에 데이터가 채워진 & RS1에서이 이름 레코드를 얻는 방법에 대해 도움을 줄 수 있습니까?

답변

1

코드의 문제는 &입니다. RS1은 실제로 & RS의 구조를 결정하는 데 사용됩니다. 실제 인스턴스화 된 행 집합은 & RS가 아닙니다. 아래의 코드에서 특정 행에 대한 NAMES 행 집합을 가져와 & RS1에 할당하면 그 행을 채 웁니다.

Local Rowset &RS, &RS1; 

&RS1 = CreateRowset(Record.NAMES); 
&RS = CreateRowset(Record.PERSON, &RS1); 

&RS.Fill("Where emplid=:1", &emplid); 
&RS1 = &RS(1).GetRowset(Scroll.NAMES); 
&RS1.Fill("Where emplid=:1 and name_type=:2", &emplid, &nameType);