阐述ADO语句执行使用方法

开发 后端
如果让ADO语句排序Recordset中的记录,则客户应用程序能够按照用户选择的次序排序,从而提高了灵活性。 下面就进行学习。

进行学习ADO语句当有人为表增加了更多的列时,你不会得到大得出奇的结果集,一些开发者使用延迟绑定技术的原因在于,他们想要明确地标识出SELECT语句选择了哪些行,不存在代码引用的是哪一个列这类问题。如果你完全按照下列方式编写代码。    

不要强制SQL Server每次执行查询的时候重新编译和构造查询执行计划。ADO语句避免这种重复操作的一种简单方法是使用带有参数的存储过程。ADO语句注意尽量不要使用ADO Command对象的Prepare属性——有时它不能正确工作。

如果使用存储过程,你还可以通过消除不必要的“受影响行数”返回值进一步提高ADO性能——只需在存储过程中加入SET NOCOUNT ON就可以了。 尽量减少与服务器的通信次数。如果你有几个相关的操作要执行,请把它们合并为一个存储过程,或者是一个可以在服务器上作为脚本执行的复合查询。ADO语句避免使用方法(比如Refresh)和不适当的Parameters集合引用,ADO语句会强制ADO增加额外的服务器通信过程。#t#

在客户机/服务器应用中,只构造Command对象一次,而不是每次使用Command对象的时候重新构造。你可以重新设置Command的参数值,然后在需要时执行它。 当查询返回的不是一个记录集时,确保使用了adExecuteNoRecords选项,告诉ADO越过所有那些用来接收和构造记录集(Recordset格式)的代码。你可以把adExecuteNoRecords选项传递给Execute方法,或把它作为Command的选项。

执行返回简单记录集的存储过程时,不要使用Command对象。ADO语句所有的存储过程(以及Command对象)可以作为Connection对象的COM方法出现。让存储过程作为Connection对象的方法出现有着显著的性能优势,同时它也简化了代码。

尽管这种技术对于那些有Return Status值或Output参数的存储过程没有什么帮助,但对于动作查询(INSERT、DELETE等)以及那些返回一个或多个记录的查询来说,这种技术很有用。把存储过程作为Connection的方法之后,你可以用方法参数的形式传入存储过程的输入参数;如果调用存储过程返回了一个记录集,你可以通过方法调用中最后一个参数引用该Recordset。例如,下面的ADO语句执行一个名为“Fred”的存储过程,Fred存储过程有两个输入参数,返回一个Recordset:

责任编辑:chenqingxiang 来源: 电子工业出版社
相关推荐

2009-12-29 10:40:36

ADO组件

2009-09-22 14:17:05

2011-05-20 17:05:59

ADO.NET

2009-12-21 17:23:56

ADO.Net程序

2009-12-21 16:02:48

ADO.NET命令

2010-10-08 16:01:17

mysql UPDAT

2009-12-31 16:04:39

ADO.NET技术

2009-12-22 10:43:48

ADO.NET类库

2009-12-22 11:24:37

ADO.NET数据库

2009-12-23 13:23:29

ADO.Net Sql

2010-10-08 16:49:01

MySQL alter

2009-12-18 17:29:40

ADO.NET应用程序

2009-12-22 10:58:50

ADO.NET类

2009-12-30 16:26:12

ADO.NET连接池

2009-11-04 15:33:05

ADO.NET连接字符

2010-03-19 14:18:07

Java Socket

2009-11-04 16:23:09

ADO.NET存储过程

2010-11-04 11:32:37

DB2 CREATE

2011-02-24 13:09:10

FireFTP

2010-03-15 18:18:33

Java多线程
点赞
收藏

51CTO技术栈公众号