ADO.NET 中怎么从DataReader中获取架构信息
更新:HHH   时间:2023-1-7


ADO.NET 中怎么从DataReader中获取架构信息,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

从DataReader中获取架构信息

  • 当ADO.NET DataReader打开时,可以使用GetSchemaTable方法检索有关当前结果集的架构信息。GetSchemaTable将返回一个填充了行和列的DataTable对象,这些行和列包含当前结果集的架构信息。对于结果集的每一列,DataTable都包含一行。架构表行的每一列都映射到在结果集中返回的列的属性,其中ColumnName是属性的名称,而列的值为属性的值。以下代码示例为DataReader编写架构信息。

VisualBasic

PrivateSubGetSchemaInfo(ByValconnectionAsSqlConnection)  Usingconnection  DimcommandAsSqlCommand=NewSqlCommand(_  "SELECTCategoryID,CategoryNameFROMCategories;",_  connection)  connection.Open()   DimreaderAsSqlDataReader=command.ExecuteReader()  DimschemaTableAsDataTable=reader.GetSchemaTable()   DimrowAsDataRow  DimcolumnAsDataColumn   ForEachrowInschemaTable.Rows  ForEachcolumnInschemaTable.Columns  Console.WriteLine(String.Format("{0}={1}",_  column.ColumnName,row(column)))  Next  Console.WriteLine()  Next  reader.Close()  EndUsing  EndSub

C#

staticvoidGetSchemaInfo(SqlConnectionconnection)  {  using(connection)  {  SqlCommandcommand=newSqlCommand(  "SELECTCategoryID,CategoryNameFROMCategories;",  connection);  connection.Open();   SqlDataReaderreader=command.ExecuteReader();  DataTableschemaTable=reader.GetSchemaTable();   foreach(DataRowrowinschemaTable.Rows)  {  foreach(DataColumncolumninschemaTable.Columns)  {  Console.WriteLine(String.Format("{0}={1}",  column.ColumnName,row[column]));  }  }  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。

返回编程语言教程...