OracleDataReader.GetSchemaTable 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回 DataTable,描述 OracleDataReader 的資料行中繼資料 (Metadata)。
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public:
override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable
傳回
描述資料行中繼資料的 DataTable。
實作
備註
方法 GetSchemaTable 會依下列順序傳回每個數據行的相關元數據:
DataReader 數據行 | 描述 |
---|---|
ColumnName | 數據行的名稱;這可能不是唯一的。 如果無法判斷數據行名稱,則會傳回 Null 值。 此名稱一律會反映目前檢視或命令文字中數據行的最新命名。 |
ColumnOrdinal | 資料行以零為起始的序數。 這個資料行不能包含 null 值。 |
ColumnSize | 資料欄中值的可能長度上限。 對於使用固定長度數據類型的數據行,這是數據類型的大小。 |
NumericPrecision | 如果 DbType 是數值數據類型,則這是數據行的最大精確度。 精確度取決於數據行的定義。
Float Oracle 中的和 Double 數據類型是二進位精確度。 |
NumericScale | 如果 DbType 是數值數據類型,小數點右邊的數字數目。
Float Oracle 中的和 Double 數據類型是二進位規模。 |
DataType | 對應至 的 DbTypeCommon Language Runtime 類型。 |
IsLong |
true 如果資料列包含二進位 Long 物件 (BLOB) 包含非常長的數據, 則為 。 |
AllowDBNull |
true 如果取用者可以將數據行設定為 Null 值,則為 ;否則為 false 。 資料行可包含 null 值,即使它不得設定為 null 值。 |
IsUnique |
true :基表中沒有兩個數據列,也就是 中 BaseTableName 傳回的數據表在這個數據行中可以有相同的值。 如果資料行本身構成索引鍵,或只有唯一類型的條件約束僅適用於此資料行,則 IsUnique 保證true 為 。
false :數據行可以包含基表中的重複值。 此數據行的預設值為 false。 |
IsKey |
true :數據行是數據列集中的其中一組數據行,可一起唯一識別數據列。
IsKey 設定為 true 的數據行集合必須唯一識別數據列集中的數據列。 不需要這組資料行集是最基本的資料行集。 這組資料行可從基底資料表主索引鍵產生,為一不重複的條件約束或不重複的索引。
false :數據行不需要唯一識別數據列。 |
BaseTableName | 包含此資料行的資料存放區中資料表或檢視中的名稱。 如果無法判斷基底資料表名稱,則為 null 值。 此數據行的預設值為 Null 值。 |
BaseColumnName | 在資料存放區中的資料行名稱。 如果使用別名,這可能不同於 ColumnName 數據行中傳回的數據行名稱。 如果無法判斷基底數據行名稱,或數據列集數據行衍生但與數據存放區中的數據行不同,則為 Null 值。 此數據行的預設值為 Null 值。 |
BaseSchemaName | 包含資料行的資料存放區中之結構描述名稱。 如果無法判斷基底結構描述名稱,則為 null 值。 此數據行的預設值為 Null 值。 |
系統會針對結果集中的每個數據行傳回一個數據列。
注意
若要確保元資料行傳回正確的資訊,您必須呼叫 ExecuteReaderbehavior
,並將 參數設定為 KeyInfo
。 否則,架構數據表中的某些數據行可能會傳回預設、Null 或不正確的數據。