DataReader转DataSet方法

简介: public DataSet ConvertDataReaderToDataSet(SqlDataReader reader) { DataSet dataSet = new DataSet(); do { // Create new data table
public DataSet ConvertDataReaderToDataSet(SqlDataReader reader)
        {
            DataSet dataSet = new DataSet();
            do
            {
                // Create new data table
                DataTable schemaTable = reader.GetSchemaTable();
                DataTable dataTable = new DataTable();
                if (schemaTable != null)
                {
                    // A query returning records was executed 
                    for (int i = 0; i < schemaTable.Rows.Count; i++)
                    {
                        DataRow dataRow = schemaTable.Rows[i];
                        // Create a column name that is unique in the data table 
                        string columnName = (string)dataRow["ColumnName"]; //+ " // Add the column definition to the data table 
                        DataColumn column = new DataColumn(columnName, (Type)dataRow["DataType"]);
                        dataTable.Columns.Add(column);
                    }
                    dataSet.Tables.Add(dataTable);
                    // Fill the data table we just created
                    while (reader.Read())
                    {
                        DataRow dataRow = dataTable.NewRow();
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            dataRow[i] = reader.GetValue(i);
                        }
                        dataTable.Rows.Add(dataRow);
                    }
                }
                else
                {
                    // No records were returned
                    DataColumn column = new DataColumn("RowsAffected");
                    dataTable.Columns.Add(column);
                    dataSet.Tables.Add(dataTable);
                    DataRow dataRow = dataTable.NewRow();
                    dataRow[0] = reader.RecordsAffected;
                    dataTable.Rows.Add(dataRow);
                }
            }
            while (reader.NextResult());
            return dataSet;
        }  


原文地址:http://blog.csdn.net/windok2004/article/details/2248874

相关文章
|
SQL 数据库 C#
C#二十七 Dataset和DataAdapter
C#二十七 Dataset和DataAdapter
58 0
|
SQL 分布式计算 关系型数据库
Dataset 和DataFrame 的区别_Row 对象 | 学习笔记
快速学习 Dataset 和DataFrame 的区别_Row 对象
276 0
Dataset 和DataFrame 的区别_Row 对象 | 学习笔记
|
SQL 分布式计算 大数据
Dataset介绍_将 Dataset 转为同泛型的 RDD | 学习笔记
快速学习 Dataset介绍_将 Dataset 转为同泛型的 RDD
174 0
Dataset介绍_将 Dataset 转为同泛型的 RDD | 学习笔记
|
C# 数据库
C#编程-69:DataReader和DataSet读取数据库内容示例_
C#编程-69:DataReader和DataSet读取数据库内容示例_
185 0
|
存储 SQL 数据库连接
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
|
C# 数据库
C#编程-69:DataReader和DataSet读取数据库内容示例
C#编程-69:DataReader和DataSet读取数据库内容示例
216 0
|
XML 缓存 数据库
DataSet用法详细 转
一、特点介绍1、处理脱机数据,在多层应用程序中很有用。2、可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法。3、处理分级数据4、缓存更改5、XML的完整性:DataSet对象和XML文档几乎是可互换的。
901 0