2015-01-08 6 views
1

여러 양식에서 사용하는 데이터 세트가 여러 개 있습니다. 그래서 나는 데이터 세트를 공개로 만들고 이것을 Mdiparent 형식으로 저장합니다. 어떤 양식을 열 때 나는이 자식 형식의 데이터 집합을 호출하고 그 데이터 집합을 내 콤보 상자와 바인딩합니다. 이 양식에는 20 개의 데이터 세트가 사용됩니다. 따라서이로드 시간으로 인해 약 30-35 초 가량 소요됩니다. 그래서 그 데이터 집합을 ref으로 사용하고 싶습니다. 어떻게해야합니까? 내가 자식 폼에 양식 부모데이터 세트를 심판으로 사용할 수 있습니다.

public DataSet dszip = null; 
    dszip = _forderdac.GetZipPostal(); 

에 지금

여러분의 의견과 조언을

DataSet dszip = dsAddr.Copy(); 
cmboboxZip.DataSource = dszip.Tables[0]; 

감사를 사용하고있는 코드 아래에.

+0

'DataSet'과 같은 객체는 정의에 의한 참조 유형입니다. 당신은'.Copy();'를 호출하여 그것을 반대하고 있습니다. 따라서 DataSet의 참조를 사용하려면 복사하지 마십시오. – Adimeus

+0

@Adimeus 하나의 데이터 세트에서 여러 개의 콤보 박스가 바인드됩니다. 그래서 나는'.COPY()'를 사용한다. –

답변

2

DataSet은 성격 상 Reference Type입니다. Value Types 프리미티브 종류 등 int, bool, double, long,

DataSet 데이터를 전송하지 더 approch가있다. List<T>과 같은 generics 컬렉션을 사용하고 양식에 바인딩해야하는 속성 만 포함하는 클래스 (샘플 용 DTO 개체)를 만들 수 있습니다. 이를 통해 더 나은 성능을 얻을 수 있습니다.

이 데이터 집합을 채우기위한 쿼리 데이터베이스가 좋은 쿼리인지 확실하게 알 수 있습니다.

이 기사에서는 데이터 세트 대신 제네릭 컬렉션을 사용하는 것이 더 나은 이유를 설명합니다. http://msdn.microsoft.com/en-us/magazine/cc163751.aspx

관련 문제