设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> ado.net应用 >> 教程正文
用多活动结果集优化ADO.NET2.0数据连接
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1

  阅读概要 欢迎参予讨论MARS的使用!通过这里介绍的MARS技术上,你能够在单个连接上执行多重数据库查询。而且依赖于MARS技术的编码更为简单易读,并且使你在开发数据集中的Web应用程序时可以减少内存使用并在一定程序上消除性能瓶颈。难道你不想尝试一下MARS?

  多活动结果集(Multiple Active Result Sets,简称MARS)是ADO.NET 2.0的一个新特征-它允许在单个连接上执行多重的数据库查询或存储过程。这样的结果是,你能够在单个连接上得到和管理多个、仅向前引用的、只读的结果集。在MARS以前,针对每个结果集需要一个独立的连接。当然,你还必须管理这些连接并且要付出相应的内存和潜在的应用程序中的高度拥挤的瓶颈代价-特别是在数据集中的Web应用程序中。

  第一个支持MARS的商业数据库是SQL Server 2005,在本文中你将会详细了解怎样使用这一强有力的然而却是易于添加到ADO.NET开发中去的工具。

  当在以前版本的SQL Server中存取数据结果集时,你需要创建额外的SqlConnection对象以配合使用SqlCommand。你需要追踪你的所有结果集及其导致低效率程序的SqlConnections连接以及"There is already an open DataReader associated with this Connection"错误。现在,使用了MARS技术后,所有这些都成了过去。

  一、 准备工作

  最开始,你需要设置一新的连接字符串以启动多个活动连接。自然地,我们把这个设置命名为"MultipleActiveResultSets",并且如下使用之:

String connectionString = "Data Source=DBSERVER;" +
"Initial Catalog=AdventureWorlds;IntegratedSecurity=SSPI;" +
"MultipleActiveResultSets=True";

  它的默认设定是"False",并且你能明确地禁用它-如果你想传递"False"给这个MultipleActiveResultSets设定的话。

  请遵循下面步骤来建立和启动MARS和ADO.NET 2.0:

  1. 创建一个如上面所示的连接字符串。

  2. 创建一个SqlConnection对象并且用该连接字符串初始化它。

  3. 使用它的Open()方法打开这个SqlConnection对象。

  4. 对于你想要执行的每个查询,创建一个新的SqlCommand对象。把它们与你在上面创建并打开的SqlConnection对象相关联。
 
  5. 使用适当的命令(如,如果你想读该取查询结果的话,可以使用ExecuteReader();或使用ExecuteNonQuery()来进行更新,等等)来执行查询。

  6. 完成后,关闭SqlConnection对象。

  二、实战

  在实际开发中普遍存在的一种典型的从数据库中读写数据的情形是,你可以使用多重连接而现在只用一个连接就足够了。例如,如果你有一些来自于几个表中的数据-它们不能被联结到一个查询中,那么你就会有多重的连接-每个连接都有一个与之相关连的命令用于读取数据。同样,如果你正在向一个表写数据,那么你需要另外一个连接或连接集合-如果有多个表要被更新的话。

  可以考虑这样的情形-你需要读取来自两个查询A和B中的数据-从可能要写向表C的数据获取值,并且对你要写向表D的行为保持一个审计记录。在如此情形中,你的代码可能如下:

  ·为A打开一个连接

  ·执行查询A,并且填充一个数据集

  ·为A关闭一个连接

  ·

[1] [2] [3] [4] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
ado.net应用热门文章
普通教程 NHibernate与Ado.Net查询速度的
普通教程 使用 DataAdapter 执行批量更新
普通教程 ADO.NET 2.0批量数据操作和多动
普通教程 ADO.NET中的sql连接
普通教程 ADO.NET 数据库实例教程
普通教程 ADO.NET操纵数据库
普通教程 初谈ADO.NET中利用DataAdapter
普通教程 最佳实践 ADO.NET实用经验无保
普通教程 ADO.NET2.0跟ADO.NET3.0的一些
普通教程 深入分析ADO.NET中的DataSet对
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 ADO.NET 2.0:如何排除错误信息
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.net将数据导出到Excel
普通教程 使用ADO.NET配置SQL Server事务
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 下一代ADO.NET---ADO.NET Enti
普通教程 通过ADO.NET存取文件

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号