ADO.NET入门教程(七) 谈谈Command对象高级应用
2014-10-13 16:29
369 查看
摘要
在上一篇文章《你必须知道的ADO.NET(六) 谈谈Command对象与数据检索》中,我详细讲解了Command对象的基础知识以及基本用法。作为ADO.NET中最具执行力的对象,Command对象实属变幻莫测。在本文中,我将与大家一起探讨Command对象的高级应用与技巧。目录
异步执行命令请使用参数化查询
获取插入行的ID
总结
1. 异步执行命令
在ADO.NET 2.0版本之前,执行Command对象命令时,需要等待命令完成才能执行其他操作。比如,执行ExcuteNonQuery()方法,应用程序将会保持阻塞,直到数据操作成功完成或者异常终止以及连接超时。在ADO.NET 2.0版本引入异步执行特性,显然,ADO.NET更稳健,更完美了。异步执行的根本思想是,在执行命令操作时,无需等待命令操作完成,可以并发的处理其他操作。ADO.NET提供了丰富的方法来处理异步操作,BeginExecuteNonQuery和EndExcuteNonQuery就是一对典型的为异步操作服务的方法。BeginExecuteNonQuery方法返回System.IAsyncResult接口对象。我们可以根据IAsyncResult的IsCompleted属性来轮询(检测)命令是否执行完成。还是来看一个简单的实例把!这个实例采用了《你必须知道的ADO.NET(六) 谈谈Comand对象与数据检索》中的数据库和数据表。在这个实例中,我们将在tb_SelCustomer中插入500行数据,并计算执行时间。代码如下:
View Code
处理结果如下:
View Code
看了上面的代码不知大家有何感想,是否觉得太多繁琐呢?的确,我们可以用更简洁的方法来实现。具体方法是,我们可以先构造Parameter对象数组,然后遍历添加到Command对象的Paramters集合中。代码如下:
View Code
上面两种写法,结果完全相同。查询数据库,我们可以得到以下结果:
View Code
运行结果如下:
4. 总结
简言之,Command对象的核心作用是执行命令。在执行命令过程中,面临的情况是十分复杂的。尽管如此,Command对象拥有优越的人力资源(属性和方法),来应对一切可能发生的事。可以说,Command对象的稳定发挥,为ADO.NET打下了扎实的根基。到目前为止,我们基本上了解ADO.NET DataProvider组件所有的内容。因此,后面我将重点讲述ADO.NET的心脏----DataSet以及如何将数据源本地化。另外,我非常期待能得到您的推荐和关注。文章转载于:http://liuhaorain.cnblogs.com
相关文章推荐
- ADO.NET入门教程(七) 谈谈Command对象高级应用
- ADO.NET入门教程(六) 谈谈Command对象与数据检索
- ADO.NET入门教程(六) 谈谈Command对象与数据检索
- 你必须知道的ADO.NET(七) Wow!Command对象高级应用
- ADO.NET 3.5高级编程:应用LINQ&Entity Framework
- ADO.NET入门教程(五) 细说数据库连接池
- ADO.NET入门教程(四) 品味Connection对象
- ADO.NET入门教程之ExecuteNonQuery, ExecuteScalar, and ExecuteReader
- 【EntityFramework系列教程十,翻译】ASP.NET MVC程序中的一些高级应用
- ADO.NET入门教程(八) 深入理解DataAdapter(上)
- ADO.NET入门教程(二)了解.NET数据提供程序
- ADO.NET入门教程(一) 初识ADO.NET
- ADO.NET入门教程(八) 深入理解DataAdapter(上)
- ADO.NET入门教程(五) 细说数据库连接池
- Windows应用程序开发入门到精通十三:深入ADO.NET开发—高级数据访问技术 (Level 400)
- ADO.NET入门教程(三) 连接字符串,你小觑了吗?
- ADO.NET 学习笔记 入门教程
- ADO.NET 学习笔记 入门教程
- 你必须知道的ADO.NET(六) 谈谈Command对象与数据检索
- ADO.NET入门教程(四) 品味Connection对象