dataReader转化为dataTable

转载 2006年05月19日 11:09:00

把dataReader转化为dataTable.下面的代码就能实现这个功能。

public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
        {
            //把那个DataReader转化成DataTable。
            DataTable datatable = new DataTable();
            DataTable schemaTable = dataReader.GetSchemaTable();
            //动态添加列
            try
            {
                foreach (DataRow myRow in schemaTable.Rows)
                {
                    DataColumn myDataColumn = new DataColumn();
                    myDataColumn.DataType = myRow[0].GetType();
                    myDataColumn.ColumnName = myRow[0].ToString();
                    datatable.Columns.Add(myDataColumn);
                }
                //添加数据
                while (dataReader.Read())
                {
                    DataRow myDataRow = datatable.NewRow();
                    for (int i = 0; i < schemaTable.Rows.Count; i++)
                    {
                        myDataRow[i] = dataReader[i];
                        Type type = dataReader[i].GetType();
                        switch (type.Name)
                        {
                            case "String":
                                myDataRow[i] = (string)dataReader[i];
                                break;
                            case "Int16":
                                myDataRow[i] = (short)dataReader[i];
                                break;
                            case "Int32":
                                myDataRow[i] = (int)dataReader[i];
                                break;
                            case "Int64":
                                myDataRow[i] = (long)dataReader[i];
                                break;
                            case "DateTime":
                                myDataRow[i] = (DateTime)dataReader[i];
                                break;
                            case "Decimal":
                                myDataRow[i] = (decimal)dataReader[i];
                                break;
                            case "Char":
                                myDataRow[i] = (char)dataReader[i];
                                break;
                            case "Double":
                                myDataRow[i] = (double)dataReader[i];
                                break;
                            default:
                                myDataRow[i] = dataReader[i];
                                break;
                        }
                    }
                    datatable.Rows.Add(myDataRow);
                    myDataRow = null;
                }
                schemaTable = null;
                dataReader.Close();
                return datatable;
            }
            catch (Exception ex)
            {
                Error.Log(ex.ToString());
                throw new Exception("转换出错出错!", ex);
            }
        }

C#用NOPI,上传EXCEL,并将数据转换成DataTable

更新时间:2017年3月28日 简介:正好这几天用到,也有ADO方式链接的,但有时候得安装相应环境又有03和07版区分,以及链接字符串不同,最后用NOPI方式获取EXCEL,实现后,整理后记录下来一个...
  • u010304557
  • u010304557
  • 2017年03月28日 09:23
  • 764

数据库访问的一些公共的方法02-返回DataReader,DataSet,DataTable等对象

#region -----------------------SQL数据库的操作方法,返回DataReader,DataSet,DataTable等对象--------------------- ...
  • lijingrong_ljr
  • lijingrong_ljr
  • 2015年08月07日 15:25
  • 479

自用的基于Emit的C#下DataTable转实体类方法

自用的基于Emit的C#下DataTable转实体类方法之前一直在做WebForm的开发,数据绑定时直接DataTable绑定Gridview很方便,但是最近开始往MVC转,数据列表的传递和页面展示基...
  • vfeihuang
  • vfeihuang
  • 2017年01月05日 19:11
  • 880

获取报告 Stream转string,利用字符串分割转换成DataTable

protected void Button1_Click(object sender, EventArgs e) { MemoryStream stream = new Mem...
  • smartsmile2012
  • smartsmile2012
  • 2015年03月22日 12:27
  • 1836

DataTable与实体类互相转换

DataTable与实体类互相转换
  • littlewrong
  • littlewrong
  • 2015年08月07日 11:46
  • 1186

c#常用的Datable转换为json,以及json转换为DataTable操作方法

/*============================================================================== * * Filename: Dat...
  • kissdeath
  • kissdeath
  • 2014年01月23日 17:34
  • 24121

C#.net开发 List与DataTable相互转换

在.NET开发中,操作关系型数据库提取数据经常用到DataTable。ASP.NET前后台数据绑定应用DataTable的时候似乎也很多,但是List集合比DataTable应用更加广泛,提取处理数据...
  • shuizhaoshui
  • shuizhaoshui
  • 2016年05月16日 15:29
  • 9350

DataTable 转换成 Json的3种方法

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List、DataTable转换为Json格式。特别在使用Extjs框架的时候,Ajax异步请求的数...
  • c1113072394
  • c1113072394
  • 2016年11月02日 20:36
  • 20263

DataTable与数组相互转换

原文地址:http://hi.baidu.com/fxb_hyb/blog/item/ef80aba25e8e60a5cbefd0de.html using System; using S...
  • linshichen
  • linshichen
  • 2016年07月18日 14:57
  • 4668

将DataReader转换为泛型集合

///         /// 将DataReader转换为泛型集合         ///         /// 泛型         /// DataReader         ...
  • cxzhq2002
  • cxzhq2002
  • 2013年04月02日 21:48
  • 616
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dataReader转化为dataTable
举报原因:
原因补充:

(最多只允许输入30个字)