Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - .NET 编程 » UltraLite .NET 2.0 API 参考 » ULDataReader 类

 

GetSchemaTable 方法

返回描述 ULDataReader 的列元数据的 System.Data.DataTable。

语法
Visual Basic
Public Overrides Function GetSchemaTable() As DataTable
C#
public override DataTable GetSchemaTable();
返回值

描述 ULDataReader 中各列的模式的 System.Data.DataTable。

注释

GetSchemaTable 方法以下面的顺序返回关于每个列的元数据:

DataTable 列

说明

ColumnName 列的名称;如果该列没有名称,则为空值引用(在 Visual Basic 中是 Nothing)。如果该列在 SQL 查询中使用别名,则返回该别名。请注意,结果集中并非所有列都有名称,并且并非所有列名都是唯一的。
ColumnOrdinal 列的 ID。该值在 [0,FieldCount-1] 范围内。
ColumnSize 对于指定大小的列,为列中值的最大长度。对于其它列,为以字节表示的数据类型大小。
NumericPrecision 数值列的精度(ProviderType ULDbType.Decimal 或 ULDbType.Numeric);如果该列不是数值列,则为 DBNull。
NumericScale 数值列的小数位(ProviderType ULDbType.Decimal 或 ULDbType.Numeric);如果该列不是数值列,则为 DBNull。
IsUnique 如果该列在提取它的表 (BaseTableName) 中是非计算唯一列,则为 true。
IsKey 如果该列是从结果集的唯一键中一起提取出来的一组列中的一列,则为 true。IsKey 设置为 true 的列集不必是作为行在结果集内唯一标识的最小集。
BaseCatalogName 包含该列的数据库中目录的名称。对于 UltraLite.NET,此值始终为 DBNull。
BaseColumnName 数据库表 BaseTableName 中该列的原始名称;如果该列为计算列或无法确定此信息,则为 DBNull。
BaseSchemaName 包含该列的数据库中模式的名称。对于 UltraLite.NET,此值始终为 DBNull。
BaseTableName 数据库中包含该列的表的名称;如果该列为计算列或无法确定此信息,则为 DBNull。
DataType 最适合此类型列的 .NET 数据类型。
AllowDBNull 如果该列可以为空,则为 true;如果该列不可以为空或无法确定此信息,则为 false。
ProviderType 列的 ULDbType。
IsIdentity 如果该列是标识列,则为 true;如果该列不是标识列,则为 false。对于 UltraLite.NET,此值始终为 false。
IsAutoIncrement 如果该列是自动增量列或全局自动增量列,则为 true;否则(或无法确定此信息时)为 false。
IsRowVersion 如果该列包含无法写入的持久性行标识符,并且该标识符除了标识行以外没有其它有意义的价值,则为 true。对于 UltraLite.NET,此值始终为 false。
IsLong 如果列为 ULDbType.LongVarchar 或 ULDbType.LongBinary 列,则为 true;否则为 false。
IsReadOnly 如果该列为只读,则为 true;如果该列可修改或无法确定其访问权限,则为 false。
IsAliased 如果列名是别名,则为 true;如果不是别名,则为 false。
IsExpression 如果该列是表达式,则为 true;如果是列值,则为 false。
另请参见