GetSchemaTable method

Returns a System.Data.DataTable that describes the column metadata of the ULDataReader.

Syntax
Visual Basic
Public Overrides Function GetSchemaTable() As DataTable
C#
public override DataTable GetSchemaTable();
Return value

A System.Data.DataTable describing the schema of each column in the ULDataReader.

Remarks

The GetSchemaTable method returns metadata about each column in the following order:

DataTable column

Description

ColumnName The name of the column or a null reference (Nothing in Visual Basic) if the column has no name. If the column is aliased in the SQL query, the alias is returned. Note that in result sets, not all columns have names and not all column names are unique.
ColumnOrdinal The ID of the column. The value is in the range [0,FieldCount-1].
ColumnSize For sized columns, the maximum length of a value in the column. For other columns, this is the size in bytes of the data type.
NumericPrecision The precision of a numeric column (ProviderType ULDbType.Decimal or ULDbType.Numeric) or DBNull if the column is not numeric.
NumericScale The scale of a numeric column (ProviderType ULDbType.Decimal or ULDbType.Numeric) or DBNull if the column is not numeric.
IsUnique True if the column is a non-computed unique column in the table (BaseTableName) it is taken from.
IsKey True if the column is one of a set of columns in the result set that taken together from a unique key for the result set. The set of columns with IsKey set to true does not need to be the minimal set that uniquely identifies a row in the result set.
BaseCatalogName The name of the catalog in the database that contains the column. For UltraLite.NET, this value is always DBNull.
BaseColumnName The original name of the column in the table BaseTableName of the database or DBNull if the column is computed or if this information cannot be determined.
BaseSchemaName The name of the schema in the database that contains the column. For UltraLite.NET, this value is always DBNull.
BaseTableName The name of the table in the database that contains the column, or DBNull if column is computed or if this information cannot be determined.
DataType The .NET data type that is most appropriate for this type of column.
AllowDBNull True if the column is nullable, false if the column is not nullable or if this information cannot be determined.
ProviderType The ULDbType of the column.
IsIdentity True if the column is an identity column, false if it is not an identity column. For UltraLite.NET, this value is always false.
IsAutoIncrement True if the column is an autoincrement or global autoincrement column, false otherwise (or if this information cannot be determined).
IsRowVersion True if the column contains a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row. For UltraLite.NET, this value is always false.
IsLong True if the column is a ULDbType.LongVarchar or a ULDbType.LongBinary column, false otherwise.
IsReadOnly True if the column is read-only, false if the column is modifiable or if its access cannot be determined.
IsAliased True if the column name is an alias, false if it is not an alias.
IsExpression True if the column is an expression, false if it is a column value.
See also