说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

.NET中DataSet和DataReader的区别与转换

HTML文档下载 WORD文档下载 PDF文档下载
介绍了.NET中DataSet和DataReader的区别,以及如何将DataReader转换到DataSet

 

区别:

DataReader:和数据库处于一直连接状态。只读只能向前读取,一次只能读取一行信息。内存占用少,高效率! 

Dateset:和数据库是断开的离线状态。返回都是数据集,可以对其中的数据做任意操作,内存占用多,效率稍低。

 

选择使用DataReader的情形: 

1)不需要缓存数据。 

2)要处理的结果集太大,内存中放不下。 

3)一旦需要以仅向前、只读方式快速访问数据。

 

 

DataReader转换到DataSet

 

public static 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; }

 

 

历时一年半 现代Web框架Phoenix 1.0正式发布 【七问七答】对话Erlang核心成员Eric Merritt 分布式文档数据库MongoDB开发版本3.1.7发布 年末巨献!SDCC 2015中国软件开发者嘉年华全面开启 Qualcomm中国2015高峰论坛:新品牌与5G技术展望 初学,不知道如何使报表动态连接数据库?求教各位高手,不胜感激 请大家帮忙!来着有分 在Access中使用查询建表时的注释语句是什么? 各位朋友呀,求救! 谁知道RedhatLinux9下安装的JBuilder9如何破解??? 公司招聘web程序设计师 高分求助,关于Apache服务经常停止的问题!!! 关于win2k代理服务器的问题 我的access坏了,ACTIVEX部件不能创建对象,重新安装office没用 保存食品的方法及原理不要高温处理和真空包装 世界上还活着最大的动物是什么 世界上最大的动物是在哪里生存的? 世界上最老的还活着的动物是什么 中国和平崛起是谁提出的 怎样保存食物 如何保存食物 中国国防建设的主要内容是什么? 关于新中国国防建设的一些问题新中国国防建设的基本内 欧盟针对美监控拟推新法规 科技企业或港媒:监控丑闻令美众叛亲离 “去美国军演引发澳大利亚山火肆虐 一名灭火飞日议员质疑安倍 称应给首相出席国会次三名驻阿富汗英军官涉嫌私刑处决塔利班常见的房屋保修期令人疑惑的“公车购置费”泸州楼盘报价及优惠天气突变,三车追尾哈佛访华 专访亚特兰蒂斯重生之官途真神制霸中场地球生存笔记极品太子爷鼓山旅游神农架旅游云冈石窟旅游宜昌旅游台湾旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘