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

.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; }

 

 

用DELPHI本身的控件输出TABLE表数据 用Delphi编程访问SQLServer数据库 用delphi编写医院的复杂报表 用Delphi程序维护Paradox 数据表的索引 用Delphi的InterBase数据库开发C&S应用程序 用Delphi进行数据库之间转换 用Delphi开发“瘦”单机数据库应用系统 用Delphi如何实现VFP中的Cache特性 用Delphi设计数据库应用的几点体会 在我们日常工作中,常会碰到这样一个难题:一大堆-Delphi资料 用DELPHI制作应用软件 用Dephi 程 序 维 护Paradox 数 据 表 的 索 引-Delphi资料 用Dephi程序维护Paradox数据表的索引-Delphi资料 用InstallShield制作数据库应用系统的安装程序-Delphi资料 在BDE中使用ASCII-Delphi资料 在DBMemo中查找文字-Delphi资料 在Delphi 程序中维护DBF 数据库 在Delphi 中 利 用 Tbatch 组 件 完 成 数 据 批 处 理 在Delphi 中使用计算出的字段 在Delphi3 程 序 中自 动 检 测、 建 立 数 据 库 别 名 和 表 格 在Delphi3程序中自动检测、建立数据库别名和表格 在Delphi4 BDE中配置Access数据库 在Delphi5 中修改了Delphi自带的VCL Source文件后怎样重建Delphi的库文 在DELPHI程序中动态设置ODBC数据源 在DELPHI程序中使用ADO对象存取ODBC数据库 在DELPHI程序中自动设置ODBC数据源 在Delphi的DBGrid中插入其他可视组件 在Delphi的Socket编程中如何从服务器向指定的客户机发送信息? 在Delphi动态生成定义数据库 在Delphi中处理数据库日期型字段的显示与输入 在Delphi中简单实现多重查询 ScrollWindow有什么用?清高手详细说明! 急!:关于ORACLE9的OEM问题,为什么在OEM中不能进入DBA STUDIO,总是提示搜索不到数据库,请问怎么搜索 八数码问题一定有解吗? 如何写库房盘点部分?(讲原理不要讲代码) 小问题,大家帮我解决一下(类型转换问题) 帮忙看一下这样的.Prj 文件是什么C语言工具生成的。早得我好苦呀 控件签名问题!! 救救我,用VB打包后安装的程序运行出错class not registered!有DBGRID控件 java有什么好? 关于Oracle触发器请教: 在弹出的子窗口关闭的同时,父窗口跳转到另一链接如何做,谢谢! TO:enmity(灵感之源) 如何去掉调用Dll在任务栏产生的图标 ORACLE 8的企业版可以糽一台PC上吗? 急救!1000块钱由1分,2分,5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元的任意组合,可有多少种组合? 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决????? 如何在98下设置默认浏览器? to 吴文智 先生 怎样用Adaptive Server Anywhere6.0发布网络版?PB菜鸟求救.... 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决??? 菜鸟问题,CString 如何转化成整形 !!!在Delphi中不规则窗体的快速显示??? 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决? 请教大侠!!!!vb调用com组件方法时传递参数类型的问题 updatesql出错: 在java中如何生成可单独安装运行的应用程序呀?就像.exe一样! 请问有没有关于C#的源代码或资料的网站呢? 怎样定位access数据库的路径? 在32代码中调用过16DLL的高手请进! 高分请教!!!!急请大侠帮忙!!!!!!!!!!!!!!! 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决 -???? 请大家出谋:朋友要离了,怎么安慰她? pfc问题 jin_shan(DOS)请进来看看,谢谢!! 大家平时玩什么网络游戏?请留下ID和擅长的游戏(玉笛书生有偿调查) 请帮一个忙? 怎么样在程序里注册OCX控件件? 奇怪,为什么我的电脑在死机后重起就不能浏览我写的asp页面了 各位,我現在到這一步了,下一步要做什麼 怎样把一个 Frame 窗体放进一个Penal 中??? 我编了4年程序,可是我在这里的提问没有一个人的回答让我满意!!!! 搞张jbuilder6破解? 特殊字符串查找 请问Win2k pro的Inetinfo.exe进程怎么占用CPU达99%呀?怎么解决呢? 自由自在的人,你在吗? 后缀是nlc的电子图书那里找? 请问vc里缺省参数的函数是怎么定义的?(70分) 救救我!!!数据库管理的几个基础问题?? 急需控件 请教一个关于CListCtrl的问题??? c语言实现"智力游戏" --? 1000字 安溪家乡的变化作文1000字 家乡的变化作文 有谁知道 知道的请回答 含锌量过多怎么办? 观察动物作文400字,不要写事!要和四年级4单元的课文一样 家乡的味道 作文1000字.ps;家乡在四川,成都 ■苹果含锌量的多少?到底多不多啊?锌应该不会大量存在于蔬果之中的.刚才我还看了一个关于苹果营养疗效的文章.和锌\有关的.我就感觉不对劲!现在证实了我的想法 ,苹果关键应该不是锌,在 关于友情的作文300字少一点的 作文 《变化》 1000字不要家乡的变化,其他都可以,字数只要不低于600字就可以了快点! 什么食物含锌量高? 太阳,月球,地球有什么关系(一句话) 脯氨酸在植物中的作用 科幻作文350字左右关于角色的 人体所需要的八种必需氨基酸是什么? 什么是亚氨基酸?为什么脯氨酸是亚氨基酸? 对婴儿来说,有几种氨基酸必须由膳食蛋白质供给,称必需氨基酸. 太阳丶月亮丶地球之间是什么关系 写动物的生命启示作文400字 请问:“必需氨基酸比值愈接近人体必需氨基酸模式的食物的蛋白质属优质蛋白质”这句话错吗?错在哪里? 人体有哪八种必需氨基酸和哪十二种非必需氨基酸? 脯氨酸是不是α-氨基酸可是给出的结构式不是α-氨基酸啊!亚氨基和羧基不在同一个碳原子上?是结构式错了还是别的? 我喜欢的动物 小兔400字左右作文急! 人体所需的8种必需氨基酸分别是什么? 关于动物的作文 400字左右 给我一篇关于我喜欢的动物,作文,大概500字急! 人体必需氨基酸有哪八种? 脯氨酸在植物中都有哪些作用?要全,大哥大姐们, 作文 我喜欢的动物:波斯猫(400字) 推荐一篇关于友情或亲情的文章 包括推荐理由,理由不少于300字 《生活的美好》作文,300-400字左右 我喜欢的动物 450字作文字要多一点,好一点 太阳、地球、月亮之间的关系是什么? 富含氨基酸、蛋白质的食物1.什么食物富含富含氨基酸、蛋白质?2.鱼、海鲜食物富含富含氨基酸、蛋白质吗?请分别作答.谢谢! 作文 我喜欢的动物:加菲猫(400字)急.! 作文 我最棒500字 哪种食物富含氨基酸多? 什么菜含锌量高 作文“我最棒”600字 含锌高的食物有哪些, 春季的作文(350字左右) 《做饭我最棒作文急需,600字! 锌含量高的食物 写动物的作文〔400字左右〕最好是范文 关于最近的我作文350字作文, 什么食物 锌含量比较高? 人体8种必需氨基酸分别是什么? 人体内合成蛋白质的第21种氨基酸是什么? 写一篇题目叫《过年》的作文要求350~400字左右. 日常生活中有哪些食物含有较多的”完全蛋白质”(含8种必需氨基酸)? 蛋白质氨基酸有哪些?必需氨基酸有哪些? 什么食物锌元素含量比较高? 在植物性的食品中,含有人类所必需氨基酸完全的食品有哪些? 那一次我懂得了友谊 600字 作文我曾经有一个很好的同学 我们并不在同一个学校 但我们约定好了 每个礼拜都互发短信 问候 600字 希望是(原创) 以我发现了什么什么,写一篇作文200字 哪些食物富含必需氨基酸的动物蛋白 太阳 地球 月亮 三者是什么关系? 我发现了什么的作文 350字 作文我发现了什么100字 我的朋友作文,350个字. 党在我心中作文(通过家乡的变化来描写党)1000字左右.急!我的家乡在平江,写建党以来党对平江做的贡献.(不要写一些很大的话,就写平江原来怎样,后来怎样,当然,要跟党的贡献有关的).不 什么东西富含氨基酸 观察动物作文400字
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn