2011-10-31 7 views
2

현재 SQL 저장 프로 시저에서 제공하는 데이터를 사용하는 작은 응용 프로그램을 작성 중이며 기술이없는 사용자도 쉽게 내보낼 수 있습니다. 나는 이것을 가능한 한 포괄적 인 것으로 만들려고 노력하고 있습니다. 여러분은 단지 어떤 SP라도 플러그인 할 수 있어야하고 내 템플릿을 따라 내보내기 유틸리티를 가질 수 있어야합니다. SP 자체에서 SP를 실행하기 전에 열 이름을 가져 오는 방법을 추가하고 싶습니다. 불가능한 값으로 SP를 실행할 수 있다고 가정 했으므로 아무 것도 반환되지 않고 결과 VB.NET DataTable에서 열을 가져옵니다. 그러나 반환 된 데이터가 없으면 열 이름도 반환되지 않습니다. 하드 코드하지 않고도 SP에서 열 이름을 가져올 수 있습니까?빈 저장 프로 시저 데이터 세트에서 열 이름 가져 오기

+0

테이블 반환 사용자 정의 함수 옵션이 있습니까? http://msdn.microsoft.com/en-us/library/ms191165.aspx 그렇지 않으면 :'Table_Schema = 'dbo'및 Table_Name = 'TableName''을 INFORMATION_SCHEMA.COLUMNS에서 선택하십시오. –

+0

불행히도,이 경우가 아닙니다 :( – wrsenn

답변

2

Table-Valued User-Defined Functions 옵션이 있습니까? 그렇지 않으면

:

SELECT Column_Name 
from INFORMATION_SCHEMA.COLUMNS 
WHERE Table_Schema = 'dbo' and Table_Name = 'Table_Name' 

http://msdn.microsoft.com/en-us/library/ms188348.aspx

편집 :

에도 빈 데이터 세트는 SqlDataReader 개체에 열을 전달합니다. 따라서 SqlCommand 개체에서 독자를 얻는 경우 리더에서 GetSchemaTable()을 호출하여 열 메타 데이터로 DataTable 을 가져옵니다. 각 행의 첫 번째 열은 반환 열의 이름입니다.

+0

해결되었지만 아직 내 대답을 게시 할 수 없습니다! 심지어 빈 데이터 집합이 SqlDataReader에 열을 전달합니다. 따라서 SqlCommand 개체에서 리더를 가져 오는 경우 리더에서 GetSchemaTable()을 호출하여 열 메타 데이터가있는 DataTable 각 행의 첫 번째 열은 반환 열의 이름입니다. – wrsenn

+0

@wrsenn : 이에 대한 대답을 적절하게 편집했습니다. –