设为首页 收藏本站
查看: 697|回复: 0

[经验分享] SQL SERVER --STUDY(5)

[复制链接]

尚未签到

发表于 2016-10-30 06:14:37 | 显示全部楼层 |阅读模式
  非类型化数据集在窗体或组件中创建的 DataSet 类的实例
  
  
  与类型化数据集不同,非类型化数据集不是用 XML 架构 (.xsd) 文件生成的类的实例。因此,非类型化数据集没有内在的结构。您在设计时在“属性”窗口中或在运行时用代码自行创建表、列、约束和 DataRelation 对象,或通过在使用数据适配器填充数据集时允许数据适配器的映射来进行这样的创建。(续下一章)
  
  ADO DotNET 技术技术介绍:
  参考如下BLOG
  http://blog.csdn.net/dreamyu_zy/archive/2008/12/12/3504316.aspx
  
.NET使用的数据库访问技术是ADO.NET在讲述ADO.NET之前,先简要介绍一下在ADO.NET出现之前广泛使用的ADO数据访问技术。将ADO.NETADO进行对比有助于深入地理解和掌握ADO.NET
为了给应用程序提供一个统一的与数据库进行连接通信的接口,在20世纪90年代初,Microsoft开发了ODBC技术,ODBCOpen DataBase Connectivity Interface(开放式数据库连接接口)的简称,它提供了SQL语言和数据库进行通信的一般标准。
ADO.NETMicrosoft ActiveX Data Objects (ADO)改进而来,是一种先进的数据库访问技术,提供平台互用和可收缩的数据访问功能.NET使用XML(Extensible Markup Language,可扩展标记语言)作为数据传送的格式,任何可以读取XML格式的应用程序都可以对数据进行处理。实际上,接收组件根本不需要ADO.NET组件。它可以是基于Microsoft Visual Studio的解决方案或在任何平台上运行的任何应用程序。
ADOADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用、高速度、低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务器和Web的应用程序的主要功能。但是ADO使用OLE DB接口并基于MicrosoftCOM技术,而ADO.NET拥有自己的ADO.NET接口并且基于Microsoft.NET体系架构.NET体系不同于COM体系ADO.NET接口也就完全不同于ADOOLE DB接口,这也就是说ADO.NETADO是两种数据访问方式ADO.NET.NET构架提供了优化的数据访问模型,和基于COMADO是完全两样的数据访问方式。
ADORecordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线

由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。

可以看到,ADO.NET模型中的两个核心组件是.NET Data Provider(数据提供程序)DataSet Object(数据集对象).NET Data Provider是数据库的访问接口负责建立到数据库的连接和数据操作,它作为DataSet Object与数据源之间的桥梁负责将数据源中的数据取出后置入DataSet Object中,或将数据存回数据源DataSetADO.NET的断开式结构的核心组件。它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。

.NET Framework提供了四个.NET Framework数据提供程序

1) SQL Server .NET Framework 数据提供程序。适用于 Microsoft SQL Server 7.0版或更高版本。
2) OLE DB .NET Framework 数据提供程序。适用于所有提供了OLE DB接口的数据源,包括Access, SQL Server 6.5或更低版本的数据库等。

3)ODBC .NET Framework 数据提供程序。适合于所有提供了ODBC接口的数据源。

SQL Server .NET Framework数据提供程序使用它自身的协议(Tabular Data StreamTDS)SQL Server直接通信。由于它经过了优化,可以直接访问SQL Server而不用添加OLE DB或开放式数据库连接(ODBC),因此它是轻量的,并具有良好的性能。

对比了SQL Server .NET Framework数据提供程序和OLE DB .NET Framework数据提供程序的异同。
OLE DB .NET Framework数据提供程序通过OLE DB服务组件(它提供连接池和事务服务)数据源的OLE DB提供程序才能与OLE DB数据源进行通信。因此,使用SQL Server .NET数据提供程序访问SQL Server数据库比使用OLE DB .NET数据提供程序效率更高。


n          4个核心对象的功能如下:
n          1) Connection:建立与特定数据源的连接
n          2) Command:对数据源执行数据库命令,用于返回数据、修改数据、运行存储过程以及发送或检索参数信息等。
n          3) DataReader:从数据源中读取只进且只读的数据流。
n          4) DataAdapter:执行SQL命令并用数据源填充DataSetDataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致


n          ADO.NET的数据访问策略有两种,一是将数据记录缓存于数据集(Dataset)中,二是直接访问数据库并使用数据读取器(DataReader)来读取数据记录。那么,应用程序应使用Dataset还是DataReader呢?此时应考虑应用程序所需要的功能。

Dataset功能强大,用于执行以下功能:
1) 对数据执行大量的处理,而不需要与数据源保持打开的连接,从而可以将该连接释放给其他客户端使用。
2) 在应用程序本地缓存数据。
3) 与数据进行动态交互,例如绑定到Windows窗体控件或组合并关联来自多个源的数据。
4) 提供关系数据的分层XML视图,并使用XSL转换或XML路径语言(XPath)查询等工具来处理数据。
5) 在层间或从XML Web services对数据进行远程处理。
DataReader功能有限,只能以只进只读方式返回数据,但是这种方式节省了DataSet所使用的内存,并将省去创建DataSet并填充其内容所需的必要处理,因此提高了应用程序的性能。


ADO.NET数据库操作的基本步骤:

.NET数据库应用程序中操作数据库的方法可以有两种:一是通过直接编写程序代码进行数据库连接和数据库操作;二是使用VS.NET提供的数据控件,用可视化的方法帮助实现对数据库的操作。



font-family: 宋体; font-size: 12pt; mso-bidi-font-weight: bold; mso-ascii-font-family: "Times New Roman"; mso-hans

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293057-1-1.html 上篇帖子: SQL Server 设计规则 下篇帖子: jdbc连接SQL server数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表