关注ADO.NET的朋友一定知道ADO.NET 2.0新特性,昨天在图书馆看到一本关于简介新特性的书,在这里把我的感受分析给大家听听。在这篇文章里我将尽量简单的描述下ADO.NET 2.0的新特性,尤其是配合SQL Server 2005所展现出来的强大实力。如果想进一步了解ADO.NET 2.0编程方面的话,可以去阅读Glenn Johnson的--"ADO.NET 2.0高级编程。
我们提供的服务有:网站建设、成都网站建设、微信公众号开发、网站优化、网站认证、呼玛ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的呼玛网站制作公司
一:ADO.NET 2.0新特性功能强大的
#T#2005年底(2005年10月)与 SQL Server 2005一起出现的是 .NET Framework 2.0 版本,其中用来访问数据库的 ADO.NET类也升级到 ADO.NET 2.0 版。ADO.NET 2.0 除了增强旧功能外,也提供了相当多的新功能,包含了以基础类为本(base-class-based)的数据源提供程序(provider)模型、异步访问架构、批处理更新与大量数据复制(bulk copy)、SQL Server 2005 的回调通知、单一连接同时多执行结果集(MARS)、执行统计、强化的 DataSet 类等等。换句话说,若要有效发挥 SQL Server 2005 的功能,前端应用程序最好用 ADO.NET 2.0 来开发。
ADO.NET 2.0的新特性提供了相当多的新增功能,一些与数据源提供程序无关,也就是访问各种数据库都可以用到的功能,但有很大的一部分是专属于 SQL Server 2005,针对 SQL Server 2005 的新功能提供给前端应用程序开发使用。
二: ADO.NET 2.0新特性使用多数据结果集(仅限2005)
在之前版本的 SQL Server 同一时间一条连接只能传递一个 SELECT 语法执行后返回的结果集。如果想在一次连接后返回多个查询内容只能使用类似如下的方法来实现:
- SqlDataAdapter myDataAdapter = new SqlDataAdapter("StoredProcedureName",myConnection);
- myDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
- myDataAdapter.SelectCommand.Parameters.Add("@sqlstr",sqlstr);
- DataSet ds = new DataSet();
- myDataAdapter.Fill(ds);
- return ds; ds.Tables[0],ds.Tables[1],ds.Tables[2],//分别对应三个结果集
SQL Server 2005提供了在同一条连接上可以同时传递多个没有游标结构(cursorless)的结果集(也称为默认结果集),此功能称为 Multiple Active Resultsets(MARS)。如此可以节省需要同时打开的连接数,但要注意的是连接字符串设置要加上 MultipleAct-iveResultSets=true 属性,否则默认不启动多数据结果集的功能。
- string connstr = "server=(local);
- database=northwind;integrated security=true;";
- SqlConnection conn = new SqlConnection(connstr);
- conn.Open(); SqlCommand cmd1 = new SqlCommand("select * from customers", conn);
- SqlCommand cmd2 = new SqlCommand("select * from orders", conn);
- SqlDataReader rdr1 = cmd1.ExecuteReader();
- // next statement causes an error prior to SQL Server 2005 SqlDataReader rdr2 = cmd2.ExecuteReader();
- // now you can reader from rdr1 and rdr2 at the same time.
当前名称:归纳ADO.NET2.0新特性好处
本文链接:http://www.shufengxianlan.com/qtweb/news10/13710.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联