哪位高手简洁分析下ADO.NET中的常用对象:DataAdapter、Command、DataSet的使用情况。。非常感谢!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪位高手简洁分析下ADO.NET中的常用对象:DataAdapter、Command、DataSet的使用情况。。非常感谢!!相关的知识,希望对你有一定的参考价值。
比如DataAdapter常与DataSet在一起使用,DataReader要与Command一起使用。我就是不明白,什么时候可以使用DataAdapter,什么时候使用Command,或者什么时候两者可以同时使用。。
DbConnection是数据库连接,是基础通道,数据通过它传输。DbCommand是工具,通过它操作数据库。DataSet是内存数据库,是放数据的地方。DataAdapter是适配器,它调用DbCommand执行,并将返回的结果填充到DataSet中。举个例子,假定数据库是个仓库,那么在一次数据读取过程中,DataAdapter是搬运工,DbConnection是桥梁,DbCommand是交通工具,DataSet就是最终东西要放的地方(比如商店的货架):DataAdapter使用DataCommand将数据库里面的数据从DbConnection上读取出来放到DataSet中去,然后你要的东西已经在货架(DataSet)上了,那你就直接从货架上拿数据用了。
所以他们的分工不同,没有使用情况。
DataReader则是另外一种工具,DataAdapter是通过它读取数据的。在DbCommand将数据拿出来以后,DataReader负责将数据都组织起来供下一级使用。在DataAdapter中,数据被DataAdapter拿到手后放上了货架(DataSet)。
当然它也可以直接用,它创建一个快速只读的数据对象,相当于直销:通过DbCommand上拿出数据后,直接在商店门口就卖出去(用掉),而不是放到货架上(这里是DataSet),当前数据用掉以后才会继续拿下一个数据。
DataReader的优势是速度快,简洁,但因为不保存数据到货架上而是随用随取,所以往往需要你自己创建对象保存数据,比如常见的ORM方案,是将数据转换为强类型对象后保存的。(也就是说,DataReader是在线式的,仓库一关你就没法用了;DataSet是离线的,仓库关掉了你能继续从货架上拿数据用。)
所以,数据流程是:
数据库 --> DbConnection --> DbCommand -->DataReader --> DataAdapter --> DataSet
现代软件工程建议使用ORM,转换为对象实体:
数据库 --> DbConnection --> DbCommand -->DataReader --> 对象实体
当然你也可以直接用DataReader,至于后面的数据怎么处理那就看你自己的意思了。
因为DataSet保存的数据相当于一个内存数据库,其中的数据也都是弱类型的,所以用起来很麻烦容易出错,在现代软件产品中用得不多,大多是用ORM技术的。
打完这么多字才看到楼主的提问是零分! -_-! 参考技术A Command 对数据源执行命令。
DataReader 从数据源中读取只进且只读的数据流。
DataAdapter 用于将数据填充到 DataSet。 参考技术B 一般大量数据时候我用DataSet 数量不多用DataReader
Arcmap能不能从线shp文件中获取线的坐标信息 还是要将线shp 转换成点shp 哪位高手解答下啊,,谢谢
试试ArcToolbox中的Feature Vertices To Points工具,提取线的所有节点。 应该能满足你提取多个点 参考技术A 转点。所有要素都是有点生(组)成。追问转点能否控制点的数量,我转了只能转成一个点
以上是关于哪位高手简洁分析下ADO.NET中的常用对象:DataAdapter、Command、DataSet的使用情况。。非常感谢!!的主要内容,如果未能解决你的问题,请参考以下文章