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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere .NET 2.0 API 参考 » iAnywhere.Data.SQLAnywhere 命名空间 (.NET 2.0) » SADataReader 类

 

GetSchemaTable 方法

返回说明 SADataReader 的列元数据的 DataTable。

语法
Visual Basic

Public Overrides Function GetSchemaTable() As DataTable
C#

public override DataTable GetSchemaTable();
返回值

描述列元数据的 DataTable。

注释

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

DataTable 列

说明

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

有关这些列的详细信息,请参见关于 SqlDataReader.GetSchemaTable 的 .NET Framework 文档。

有关详细信息,请参见获取 DataReader 模式信息

另请参见