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

.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资料 如何隐藏桌面上的图标-Delphi资料 如何用API更改改计算机名字-Delphi资料 如何用Delphi映射网络驱动器? 如何在字符串截取中避免分割到半个汉字-Delphi资料 如何知道用户点击了窗口的最小化按钮?-Delphi资料 如何中断线程的执行-Delphi资料 如何终止一个线程-Delphi资料 如何转让控制权-Delphi资料 使用Delphi 4.0编写多线程 使用Delphi获取系列信息 使用DELPHI实现文本文件显示和声音同步播放 为系统菜单添加新菜单-Delphi资料 显示密码编辑框中的密码-Delphi资料 写小执行程序-Delphi资料 隐藏和显示Windows的任务条-Delphi资料 隐藏桌面上的图标-Delphi资料 用DELPHI编制Windows95下的钩子函数 用Delphi的THML控件实现触摸屏的使用 用Delphi实现禁止用户关闭Window9X 用Delphi制作能够干净地删除自己的程序 用DELPHI 做一个简单的屏幕保护程序 用Enter键代替Tab键-Delphi资料 用修改文件时间的方法来加密文件-Delphi资料 用最原始的方法编制程序-Delphi资料 运用Delphi编写Windows NT中服务程序 在DELPHI编程中确定系统运行模式 在Delphi程序中调用控制面板设置功能 在DELPHI下读取与设置系统时钟 在Delphi中避免2000年问题的捷径 在Delphi中调用API函数 INDY 资料! 请分析这段代码,谢谢 怎样获得DataGrid的DataSource? 有关struts的问题,返回页面结果不对!在线等待,以解决就结帖 怎么改变快捷菜单PopupMenu1的颜色? 用OWC组件做柱状图,需要显示不同颜色的柱状以及显示不同颜色的图例 VS.NET中如何让自定义的事件出现在属性编辑器中? javascript 中有没有能返回指定某年某月中总天数的函数 如何将主窗体中的变量传到报表中,以供dataset查询用,急急急!!! 新手探路 不知道这是不是一个bug 函数返回值类型问题 兄弟我现在改行搞传统的邮政商业信函业务!给点建议!来者有分! 装有isa客户端的机器不能用FlashGet或者蚂蚁下载 网路多少钱才要交税? Kingofark关于英语及外语学习的50个观点 adotable定位记录有哪些方法?如何使用? 超高难度求sql语句,非高手莫进,在线等.......... petshop有些代碼不明白。。。。。。。。。。。 哎,运算符重载把我卡住了!求救!!! 最后 请问函数传递,设置默认值问题! 通过ODBC连接INFORMIX的问题!急!急!急! 有没有VC高手想在上海找工作? 求一个发送邮件的例子(急!!) 有谁碰到过多人同时改写几十个xml文件从而导致xml文件混乱的情况? 我在datawindow中设置initial vlaue=0,为什么写到数据库里的值还是null 请问联众和中游客户端的聊天大厅是基于chtmlview还是crichedit编程的? WINDOWS高级用户或技术支持人员请进! 通过ODBC连接INFORMIX的问题!急!急!急! 将数据保存到数据库问题 ???急。。。在线等待。。。 一个动态模板列的问题 请各位兄弟姐妹扔个FontTwister1.3的注册码上来,谢过了。 高分求救:怎么时查询后的记录成高亮状态! jsp中如何得到 select 控件的值??? 初学者求救!!!! NetBSD China站点开通<CSTC团队> 从数据库读出字段类型为int型的数据,如何转换成字符型的? 想用C来做个东西,但不知做什么好 exchange 2003 rc1版安装后后没有M盘?就是没有M盘,还是安装的问题? 关于水晶报表打印的问题,请各路大侠指点迷津 请大家(特别是安逸)指点一下关于pppoe的开发。 弱弱一问,dll 能静态连接吗? 在jbuilder中project webapplication jsp什么关系 疑问 请教一个简单问题 有关加载菜单与工具栏的问题? 不能上网,但是可以QQ,为什么哦??? 能不能把XSL放到HTML网页中呢 如何从一个ResultSet里获得所有字段的名称? DirectDraw的问题 dangle和swing什么区别?阿甘正传中阿甘说他跟珍妮学swing 珍妮跟他学dangle,就没弄明白怎么回事,不过阿甘的dangel是倒挂,珍妮的swing是用手抓住树干晃,阿甘好像没晃,是不是swing更强到晃, “求也退,故进之;由也兼人,故退之. 王昭君的故乡在哪里? 小学曾学习过王安石描写江南春色的一首诗,请把名句写出. 有谁知道王昭君的故乡在哪啊? 带“春江”的古诗词? 王昭君的故乡是哪里? 中国四大美人王昭君的故乡是哪里? 王昭君在家乡的爱情故事 java.swingclass testLogin extends JFrame{public testLogin(){setTitle("1234");setSize(370,450);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);JLabel lab=new JLabel(new ImageIcon("1.jpg"));add(lab);JLabel lab1=new JLabel("aaa");lab.add(lab1); 子曰:“与其进也,不与其退也 \"中学毕业生清华成长奖\"颁发 浙史上最给力的大学生创业支持政策出台暴风影音因视频侵权被判赔29万 已经11月7日首届上海国际童书展将盛大揭中小学教师资格考试举行 师范生当老师大学生自创恋爱APP 获80万元大奖中国代表在联大全会阐述对国际刑事法院救人干部王青意、蔡福想抢救画面曝光 新加坡制造业和服务业下调未来半年前景全球首辆太阳能小轿车在新加坡亮相德国海关发现1500余幅毕加索等大师27岁小伙出租屋内死亡 穿女式内衣裹大屏+长续航 nubia Z11 M兼职行业首例业内并购背后,是疯狂刷单被埋没的国宝 全世界仅存三把剑A股明天揭晓 大盘操作精准策略揭秘中日工业真实差距惊人曝光:看后陷入深沙特”拖垮油价,“中俄”背后再补一刀放假周边游:一路向“锡”——微风吹过蓝红搭配,OPPO R9巴萨定制版美广西烧鸭技术配方培训 冻鸭解冻步骤你油价大涨迎接欧佩克会议 但一件恐怖的
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘