知识大全 掌握ADO.NET的十个热门技巧[1]

Posted

篇首语:与天地兮比寿,与日月兮齐光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 掌握ADO.NET的十个热门技巧[1]相关的知识,希望对你有一定的参考价值。

掌握ADO.NET的十个热门技巧[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ADO NET提供了一个统一的编程模式和一组公用的类来进行任何类型的数据访问 而不管你用何种语言来开发代码 ADO NET是全新的 但又与ADO尽可能保持一致 它使编程模式从一个客户端/服务器 基于连接的模式转变到了一个新的模式 这个新模式可以让断开的前端下载记录 离线工作 然后重新连接来提交变化 ADO NET是WinForms应用程序 ASP NET应用程序和Web services的一个共有的特点 其功能可以跨LAN和Internet连接来实现 可以在有状态(stateful)和无状态(stateless)情况下实现    这就意味着 作为一个共有的技术 ADO NET的对象在所有可能的环境中并不是同等强大的 用ADO NET为一个富客户端(rich client)构建一个数据层同为一个客户端通常是共享的和重要的实体(如Web服务器)的Web应用程序构建一个数据层并不一样    如果你从前是个ADO开发人员 现在已经用ADO NET了 那么你可能把数据访问看做是一个万能的对象 如Recordset 我们很自然地会将旧的对象模式同新的对象模式匹配起来 并将现有的方法用于 NET应用程序 然而 在ADO环境中的某些好的方法在转换到ADO NET环境时就可能并不强大了 而且 看起来很微不足道的ADO NET对象模式的复杂性可能会导致很糟糕的编程情况 不理想的代码 甚至是功能不能实现 我将讲述在ADO NET编程中可能会给你带来麻烦的 个方面 并提供技巧和解决方法来避免它们     避免Database Agnostic形式的编程

  ADO NET中的数据访问是强类型的 就是说在任何时候你都必须了解你正在处理的是什么数据源(data source) 相反 在ADO中 你可以编写数据访问代码(它们充分利用了OLE DB提供者的通用模式) 并将基本的数据源只看做是个参数 ADO对象模式提供了唯一的连接和命令对象 它们隐藏了基本的DBMS的特征 一旦你在Connection对象上设置了Provider属性 那么为SQL Server或Oracle创建一个命令对象就需要同样的代码 许多开发人员都通过该功能来使用生产环境外的Access数据库 以便很快地测试或演示应用程序    在ADO NET中是不能这么做的 因为在ADO NET中 至少连接对象必须是特定于数据源的 你不能以一种间接或通用的方式来创建连接 除非你决定运用ADO的数据访问技术——OLE DB 在ADO NET中 你可以用OleDbConnection类创建到一个数据库的连接 这个类可以让你访问各种数据源 在 NET托管环境中运用System Data OleDb名字空间中的类并不特别有效 因为它们是用OLE DB来访问数据的 你只能用OLE DB来访问那些没有 NET数据提供者的数据源    如果你的应用程序必须访问全异的数据源(而且你知道可能涉及什么数据源——一个合理的假设) 那么你可以创建一个集中的factory类 它返回一个连接对象 并通过一个通用的接口(IDbConnection接口)来管理这个连接对象 Factory类在内部运用应用程序参数来决定使用什么 NET数据提供者

@# Create the connection Dim factory As New MyAppConnectionFactory Dim conn As IDbConnection conn = factory CreateConnection(connString)

@# Create the mand Dim cmd As IDbCommand = conn CreateCommand(query) 

  一旦你得到了一个连接对象 你就可以以database agnostic的方式来创建和执行一个命令了 而不管使用的数据源是什么 你可以使用CreateCommand方法并通过IDbCommand接口来引用命令 然后 你可以用IDbCommand接口上的ExecuteReader方法或ExecuteNonQuery方法来执行命令 如果你用ExecuteReader 你就可以得到一个data reader并可以用IDataReader接口来对它进行一般的访问了    你不能用一个通用的数据库编程模式来填充一个DataSet对象 实际上 你不能像创建一个命令那样以一种间接的方式来创建data adapter对象 原因就是 在有些情况下 data adapter不同于命令对象 它可以在内部隐含地创建一个连接 然而 它必须以一种强类型的方式工作 而且必须知道基本的数据库服务器是什么

   运用字符串来串行化扩展的属性

  几个ADO NET对象都拥有一个叫做ExtendedProperties的集合 该属性就像收集货物(cargo collection)一样 可以用来存储任何类型的用户信息 DataSet DataTable和DataColumn就是可以提供该数据成员的类 ADO NET通过运用PropertyCollection类封装的一个哈希表来实现这个ExtendedProperties属性 你可以用Add方法将数据插入到集合中 Add方法使用了两个参数来保存数据——key和value 该方法的原形将参数定义为通用的对象类型 你可以存储任何类型的信息 然而 在特殊情况下 你应该特别注意那些被保存为扩展属性的对象的类型    如果你想将包含扩展属性的ADO NET对象串行化到XML 最好只用字符串 如果不行 你必须对ADO NET的内在的serializer的行为采取对策    当ADO NET将一个DataSet对象保存到XML时 ExtendedProperties集合的内容就被串行化到内存中了 但大概是出于性能的原因 ADO NET运用了ToString方法 而不是XML serializer来实现串行化 更重要的是 当ADO NET对象被读回并复原时 ExtendedProperties集合包含的是对象的字符串表现形式 而不是对象本身

cha138/Article/program/net/201311/15153

相关参考

知识大全 掌握ADO.NET的十个热门技巧[4]

掌握ADO.NET的十个热门技巧[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   对于Wi

知识大全 掌握ADO.NET的十个热门技巧[3]

掌握ADO.NET的十个热门技巧[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  尽可能用预

知识大全 程序员要掌握的十个JSP中的标签库

程序员要掌握的十个JSP中的标签库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JSP最容易忽

农机维修的十个小技巧

农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于

农机维修的十个小技巧

农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于

农机维修过程中的十个小技巧

农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于

农机维修过程中的十个小技巧

农机在使用过程中出现故障问题是在所难免的,因此,掌握一定的农机维修技巧是很有好处的。农机维修可是一门大学问。有时候需要动点“小脑筋”。以下是农机维修过程中的一些小技巧,供借鉴参考:1、巧装气缸冬季由于

知识大全 实现人生目标的十个理由

实现人生目标的十个理由1、为了帮别人。2、为了自己。3、报答父母。4、报答帮助过你的人。5、不辜负别人的期望。6、不让为这件事情死的人白死。7、为了整个社会。8、为了这个世界。9、让自己活的有意义。1

知识大全 世界上环境最好的十个国家

世界上环境最好的十个国家最佳居住地排名前十位国家1挪威2瑞典3澳大利亚4加拿大5荷兰6比利时7冰岛8美国9日本10爱尔兰全球最适合人类居住的国家和城市前十名名次城市名称所在国家1墨尔本澳大利亚1温哥华

知识大全 外企面试中最奇特的十个问题

1."Giventhenumbers1to1,000,whatistheminimumnumberofguessesneededtofindaspecificnumber,ifyouaregivent