SymfowareDataReaderのGetSchemaTableメソッドにより返却される、SymfowareDataReader の各列のメタデータについて説明します。
メタデータ | データ型 | 説明 |
---|---|---|
ColumnName | System.String | 対象列の列名が返却されます。相関名が指定された場合、列名として相関名が返却されます。 |
ColumnOrdinal | System.Int32 | 対象列の選択リストにおける指定順番号が返却されます。0 から順番に採番された値が返却されます。 |
ColumnSize | System.Int32 | 対象列が文字列型の場合、最大文字数が返却されます。それ以外の型の場合、データ長が返却されます。 |
NumericPrecision | System.Int16 | 対象列が真数型/概数型の場合、精度が返却されます。真数型でも概数型でもない場合、DBNull.Valueが返却されます。 |
NumericScale | System.Int16 | 対象列がNUMERICA型/DECIMAL型の場合、位取りが返却されます。それ以外のデータ型の場合、DBNull.Valueが返却されます。 |
IsUnique | System.Boolean | データの一意性が保障されている列であることを示します。 以下の条件の順に、true/falseが決まります。以下の条件に該当しない場合はfalseとなります。 1) 対象列が一意性制約を構成する列の一つである場合、trueとなります。 2) 上記の1)の条件によりtrueとなる場合でも、対象となるSELECT文が更新不可(注1)の場合は、falseとなります。 |
IsKey | System.Boolean | 一意性制約を構成するすべての列が指定されていることを示します。 以下の条件の順に、true/falseが決まります。以下の条件に該当しない場合はfalseとなります。 1) 対象となる選択リストに主キーを構成する列すべてが指定されている場合、trueとなります。 2) 対象となる選択リストが上記の1)に該当せず、UNIQUE制約のすべての列が指定されている場合、trueとなります。 3) 上記の1)および2)の条件によりtrueとなる場合でも、対象となるSELECT文が更新不可(注1)の場合は、falseとなります。 |
BaseServerName | System.String | 常にDBNull.Valueが返却されます。 |
BaseCatalogName | System.String | 常にDBNull.Valueが返却されます。 |
BaseColumnName | System.String | 対象列の定義時の列名が返却されます。 |
BaseSchemaName | System.String | 対象列が所属するスキーマ名が返却されます。 |
BaseTableName | System.String | 対象列が所属する表名が返却されます。 |
DataType | System.Type | 列の .NET Framework に合う型に割り当てます。 |
AllowDBNull | System.Boolean | null値が許可されている場合はtrue、それ以外の場合はfalseとなります。 |
ProviderType | SymfowareDbType | 対象列のデータ型のコードを返却します (注2) |
IsAliased | System.Boolean | 対象列に相関名が指定されている場合はtrue、相関名が指定されていない場合はfalseとなります。 |
IsReadOnly | System.Boolean | 対象列が読込み専用かどうかを示します。 選択リストに単純な列以外が指定されている場合はtrue、単純な列が指定されている場合はflaseになります。 上記の選択リストに指定する値式以外の条件について、対象となるSELECT文が更新不可(注1)の場合は、falseとなります。 |
IsExpression | System.Boolean | 関数(単純な列以外)が指定されている場合はtrue、それ以外(単純な列)が指定されている場合はfalseとなります。 |
IsAutoIncrement | System.Boolean | 常にfalseが返却されます。 |
IsHidden | System.Boolean | 常にfalseが返却されます。 |
IsLong | System.Boolean | 対象列のデータ型がBLOBの場合はtrue、それ以外のデータ型の場合はfalseとなります。 |
IsIdentity | System.Boolean | 常にfalseが返却されます。 |
IsRowVersion | System.Boolean | 常にfalseが返却されます。 |
注1) SELECT文の更新不可となる条件については、“SQLリファレンス”の“DECLARE CURSOR(カーソル宣言)”の“読込み専用カーソルとなる条件”の表を参照してください。
注2) データ型のコードについては、“SQLリファレンス”の“DESCRIBE文”の“SQLTYPEまたはTYPEの値とSQLのデータ型の対応”の表を参照してください。