IDataReader.GetSchemaTable用法

今天用到了IDataReader.GetSchemaTable,所以就做个记录:

1、IDataReader.GetSchemaTable

    功能:返回一个 DataTable,它描述 IDataReader 的列元数据。

如有表sbas_TreatyCompany

使用IDataReader.GetSchemaTable的代码:

OracleConnection conn = new OracleConnection(@"Data Source=102his;
Persist Security Info=True;User ID=his;Password=his;Unicode=True
");
conn.Open();
OracleCommand cmd
= new OracleCommand("Select * From sbas_TreatyCompany", conn);
IDataReader reader
= cmd.ExecuteReader();
DataTable dt
= reader.GetSchemaTable();
conn.Close();
this.dgvShowData.DataSource = dt;

结果:

  

  由此可以看出,IDataReader.GetSchemaTable返回的datatable是固定框架,每一列的列名都是固定的。而每一行则是数据库实体表的列。这个函数可以动态获取数据库表结构,比如表的主键,每一列的类型等信息。

原文地址:https://www.cnblogs.com/puresoul/p/1767333.html