2011-12-26 2 views
0

C# 및 SQL Server 2005에서는 DbConnection.GetSchema() 메서드를 사용하여 모든 뷰의 열 (보기가 아닌) 만 가져 오려고합니다. 나는 테이블과 뷰 '열 DbConnection.GetSchema 메서드가있는 테이블 열만 가져 오기

  • ViewColumns 반환 모든 뷰의 열

    어느 두 반환 테이블 컬럼 위의

  • 을 반환이

    1. Columns 관련이 콜렉션 이름을 발견했다, 나 자신이 갖고 Table-columns을 필터링하는 모든 속성.

      도움이 필요합니다.

    답변

    0

    이 특정 API를 사용하여이 작업을 수행하는 쉬운 방법이 없습니다. 정보를 얻기 위해 이와 같은 쿼리를 사용하지 않는 이유는 무엇입니까?

    SELECT 
        c.name AS 'ColumName', 
        ty.Name AS 'TypeName', 
        c.max_length, 
        c.is_identity, 
        c.is_nullable, 
        t.name AS 'TableName' 
    FROM sys.columns c 
    INNER JOIN sys.types ty ON c.user_type_id = ty.user_type_id 
    INNER JOIN sys.tables t ON c.object_id = t.object_id 
    

    은 그냥 SqlCommand에 그것을로드 당신이 가진 열린 연결에 대해 그것을 실행하고 사용에 대한 몇 가지 DataTable 또는 다른 구조로 결과를 읽어 보시기 바랍니다. 이 경우 테이블 열만 -뿐입니다.

    +0

    나는 우리가 당신의 방식으로 이것을 얻을 수 있다는 것을 알고있다. 그러나 나는 connection.GetSchema ("ForeignKeys")로 foreignKeys를 얻는 것과 같이이 방법으로 다른 모든 작업을 수행하고있다. 2) connection.GetSchema ("INDEXES")로 인덱스 얻기 , 같은 내가 원하는 모든 테이블 - 열이 방법으로 – user369182

    +0

    @ user369182 : 내가 말했듯이 - 당신이 원하는 방식으로 원하는 정보를 얻을 수있는 방법이 있다고 생각하지 않습니다. –

    관련 문제