2011-08-23 5 views
0

많은 수의 동적 SQL을 사용하는 보고서 코드를 동적 데이터 집합을 사용하여 변환하는 중이지만 임시 쿼리 및 삽입을위한 경우는 여전히 많이 있습니다. 현재 코드는 예를 들어 GetDataRow 정적 메서드 clsFunctions (예, 알고 있습니다, 공포!),하지만 내가 설정하는 데이터 레이어 에이 함수를 재배치하고 싶습니다. 내 typed 테이블 어댑터에 대한 확장 메소드를 만들기 위해 정의 된 연결 속성이 있으므로 다른 데이터 액세스 코드와 동일한 연결을 항상 사용하고 있지만 입력 된 테이블 어댑터에는 실제 기본 클래스가 없습니다. 메소드를 Component에 추가하고 메소드의 '공유'함수를 생성합니다.형식화 된 데이터 집합에서 일반 GetDataRow 메서드는 어디에서 선언해야합니까?

입력 한 데이터 집합 내 데이터 영역에 내 GetDataRow 메서드를 배치해야하는 위치는 무엇입니까?

답변

0

동적 테이블 어댑터는 부분 클래스이므로 다른 특수 클래스를 만들어 테이블 어댑터에 특수 함수를 추가하기 만하면됩니다.

이 예제에서는 "dsMain"이라는 데이터 집합과 "문서"테이블에 대한 tableadapter가 있습니다.

namespace dsMainTableAdapters 
{ 
    public partial class DocumentTableAdapter 
    { 
     public dsMain.DocumentRow GetDataRow() 
     { 
      System.Data.SqlClient.SqlConnection oconn = this.Connection; 

      //now Run your custom code on the connection 

     } 
    } 
} 

이제 "GetDataRow"라는 테이블 어댑터에 새 메소드가 있어야합니다.

데이터 세트 테이블 어댑터의 EXACT 네임 스페이스와 테이블 어댑터의 EXACT 클래스 이름을 사용하는 한 원하는 연결 개체에 액세스 할 수 있어야합니다.