SqlCeDataReader.GetSchemaTable Method
SqlCeDataReader의 열 메타데이터를 설명하는 DataTable을 반환합니다.
네임스페이스: System.Data.SqlServerCe
어셈블리: System.Data.SqlServerCe(system.data.sqlserverce.dll에 있음)
구문
‘선언
Public Overrides Function GetSchemaTable As DataTable
public override DataTable GetSchemaTable ()
public:
virtual DataTable^ GetSchemaTable () override
public DataTable GetSchemaTable ()
public override function GetSchemaTable () : DataTable
반환 값
열 메타데이터를 설명하는 DataTable을 반환합니다.
예외
예외 유형 | 조건 |
---|---|
InvalidOperationException | 작업이 유효하지 않은 경우. SqlCeDataReader는 결과 집합의 마지막 행 뒤에 올 수 있습니다. |
주의
SqlCeDataReader가 둘 이상의 기본 테이블에서 열을 읽는 경우 SqlCeDataReader가 스키마 테이블을 IsKey 값으로 채우지 않습니다. 이 동작은 다음과 같이 SELECT 쿼리를 실행할 때 발생하는 동작과 비슷합니다.
SELECT FirstName, LastName, 1+2 FROM Employees
쿼리는 서로 다른 두 테이블, Northwind 데이터베이스의 Employees 테이블과 1+2에 의해 만들어진 임시 테이블에서 열을 읽습니다.
GetSchemaTable 메서드는 OLE DB IColumnsRowset::GetColumnsRowset 메서드로 매핑하고, 다음 순서대로 각 열의 메타데이터를 반환합니다.
스키마 테이블 열 |
설명 |
ColumnName |
열의 이름입니다. 이 이름은 고유하지 않을 수 있습니다. 이름을 확인할 수 없으면 null 값이 반환됩니다. 이 이름은 항상 현재 뷰나 명령 텍스트에서 최근에 바꾼 열의 이름을 반영합니다. |
ColumnOrdinal |
열의 서수입니다. 0부터 시작합니다. SQL Server Compact 3.5에서는 책갈피를 지원하지 않습니다. |
ColumnSize |
열의 값에 사용할 수 있는 최대 길이입니다. 고정 길이 데이터 형식을 사용하는 열의 경우, 최대 길이는 데이터 형식의 크기입니다. |
NumericPrecision |
ProviderType이 숫자 데이터 형식인 경우, 열의 최대 정밀도입니다. 정밀도는 열의 정의에 따라 다릅니다. ProviderType이 숫자 데이터 형식이 아닌 경우에는 null 값입니다. |
NumericScale |
ProviderType이 DBTYPE_DECIMAL 또는 DBTYPE_NUMERIC인 경우 소수점 오른쪽의 자릿수이고, 그렇지 않으면 이 값은 null입니다. |
IsUnique |
true이면 BaseTableName에서 반환되는 테이블인 기본 테이블의 두 행이 이 열에 같은 값을 가질 수 없습니다. 열이 자체적으로 키를 구성하거나 이 열에만 적용되는 UNIQUE 형식의 제약 조건이 있으면 IsUnique는 true가 됩니다. false이면 기본 테이블의 해당 열은 중복 값을 포함할 수 있습니다. 이 열의 기본값은 false입니다. |
IsKey |
true이면 해당 열은 함께 사용하여 행을 고유하게 식별할 수 있는 행 집합에 있는 열 중 하나입니다. true로 설정된 IsKey를 사용하는 열 집합은 행 집합의 행을 고유하게 식별합니다. 이 열 집합이 최소 열 집합일 필요는 없습니다. 이 열 집합은 기본 테이블 기본 키, 고유 제약 조건 또는 고유 인덱스에서 생성될 수 있습니다. false이면 해당 열은 행을 고유하게 식별하는 데 필요하지 않습니다. |
BaseColumnName |
데이터 저장소의 열 이름입니다. 기본 열 이름을 확인할 수 없거나, 행 집합 열이 파생되었지만 데이터 저장소의 열과 일치하지 않는 경우 이 이름은 null 값입니다. 이 열의 기본값은 null입니다. |
BaseTableName |
열을 포함하는 데이터 저장소의 테이블 이름입니다. 기본 테이블 이름을 확인할 수 없으면 이름은 null 값입니다. 이 열의 기본값은 null입니다. |
DataType |
열의 .NET Framework 형식에 매핑합니다. |
AllowDBNull |
소비자가 열을 null 값으로 설정할 수 있거나, 소비자가 열을 null 값으로 설정할 수 있는지 여부를 공급자가 확인할 수 없는 경우 설정합니다. 그렇지 않으면 설정하지 않습니다. 열을 null 값으로 설정할 수 없지만, 열에 null 값이 포함될 수는 있습니다. |
ProviderType |
열 데이터 형식의 표시기입니다. 이 열은 null 값을 포함할 수 없습니다. |
IsAutoIncrement |
true이면 열은 일정한 증분값으로 새 행에 값을 할당합니다. false이면 열은 일정한 증분값으로 새 행에 값을 할당하지 않습니다. 이 열의 기본값은 false입니다. |
IsRowVersion |
열이 쓰기 불가능한 영구 행 식별자를 포함하며 행을 식별할 때를 제외하고는 의미 있는 값을 갖지 않는 경우에 설정합니다. |
IsLong |
매우 긴 데이터가 들어 있는 BLOB(Binary Long Object)가 열에 포함된 경우에 설정합니다. |
IsReadOnly |
true이면 열을 수정할 수 없고, false이면 열을 수정할 수 있습니다. |
스레드 보안
이 유형의 모든 public static(Microsoft Visual Basic의 경우 공유) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전성이 보장되지 않습니다.
플랫폼
개발 플랫폼
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
버전 정보
.NET Framework 및 NET Compact Framework
3.5에서 지원됨
.NET Framework
3.0에서 지원됨
.NET Compact Framework 및 .Net Framework
2.0에서 지원됨
참고 항목
참조
SqlCeDataReader Class
SqlCeDataReader Members
System.Data.SqlServerCe Namespace