将DataReader 转为 DataTable

来源:互联网 发布:淘宝直通车需要竟价吗 编辑:程序博客网 时间:2024/04/29 03:23

一。

  /// <summary>
    /// Will DataReader to DataTable
    /// </summary>
    /// <param name="dr">IDataReader</param>
    /// <returns></returns>
    protected DataTable ConvertDataReaderToDataTable(IDataReader dr)
    {
        DataTable dt = new DataTable("DataTable");
        try
        {
            int fieldCount = dr.FieldCount;//Access to the current line number of rows
            for (int count = 0; count <= fieldCount; count++)
            {
                dt.Columns.Add(dr.GetName(count), dr.GetFieldType(count));
            }
            //populate datatable
            while (dr.Read())
            {
                DataRow datarow = dt.NewRow();
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    datarow[i] = dr[i].ToString();
                }
                dt.Rows.Add(datarow);
            }
            dr.Close();
            return dt;
        }
        catch (Exception ex)
        {
            throw new Exception("Conversion error Error!", ex);
        }
    }

二。

Dim dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
      
Dim dt As DataTable = New DataTable()
      dt.Load(dr)

DataTable To DataReader

使用Load方法时,如果DataTable中已经存有数据,新旧数据将合并。(新数据是指从DataReader中读取的)

原创粉丝点击