使用技巧游标和存储的
2021-08-24 淮安装修公司
许多VB6应用程序的核心都和ActiveX数据对象(ADO)有关。编写VB代码时,下面这两个技巧或许对你有用。第一个技巧帮助你创建firehose游标,第二个技巧着眼于在存储过程发现错误(raise error)。 用firehose游标来加速数据访问许多应用程序使用ADO来访问数据库。使用firehose游标可以显著提高应用程序访问数据库的速度。
Firehose游标运行在服务器端,它是前向的只读游标。当使用firehose游标时,记录直接从服务器流到用户端并保存到Recordset对象中。Firehose游标对只读数据以及需要立即处理的数据非常有用。清单A中的代码会产生一个firehose游标。
当使用firehose游标时,最好从Recordset检索数据并尽快关闭Recordset。这样可以释放客户端和服务器间的资源。
在下,由于DataReader对象也有前向、只读游标,所以它也可以完成与firehose游标相似的功能,如代码清单B所示。DataReader的限制与ADO中的firehose游标也是相同的。行(rows)被处理后DataReader应该尽早关闭以释放资源,使得连接可以用于其它目的。
用ADO来捕获存储过程中的错误应用程序经常使用ActiveX数据对象(ADO)和存储过程(stored procedure)来读和写SQL服务器数据库的数据。当你这么做时,你可能需要从存储过程中发现错误。为了正确实现这一点,你必须用一种特殊的方式调用ADO命令。在存储过程中调用RAISERROR语句来捕获错误,如清单C给出的代码所示。
正常情况下,存储过程中的产生的错误将返回到ADO连接对象中的DBError集合中。不过,只有在同时满足以下条件的情况下,这些错误才会被捕获:
一个ADO命令对象用来执行这个(存储)过程。 adExecuteNoRecords标志传递给执行方法。 存储过程有输出参数或者返回一个Recordset。如果你使用下面的代码来执行没有输出参数且没有返回纪录的存储过程,那么存储过程中产生的任何错误都会被添加到Connection对象的DBError集合中:Call Command.Execute(, , adExecuteNoRecords)If Command.ActiveConnection.Errors.Count > 0 Then \'Handle ErrorEnd If
打通管理屏障实现海陆共治 然而,如果存储过程返回记录或者由输出参数,那么调用它时一定不能使用adExecuteNoRecords标志。即使你不需要返回纪录,也不能在调用时使用该标志,否则就不能捕获到错误:Set Recordset = Command.Execute()If Command.ActiveConnection.Errors.Count > 0 Then \'Handle ErrorEnd If
如果你知道如何正确设置ADO错误捕获,就可以大量节省应用程序调试时间。
:炒饭
欢迎评论或投稿
白癜风医院收费许昌好医院银屑病
小葵花

-
-
冰丝带国家高山滑雪中心这些场馆让人着迷搭配
冰丝带、 国家高山滑雪中心这些场馆让人着迷2022年北京-张家口冬季奥运会简...
- 家装知识 2020-06-01
-
冰丝带国家高山滑雪中心这些场馆让人着迷搭配
-
-
蠢到爆麦蒂再炮轰神经刀我没有贬低总冠军搭配
蠢到爆!麦蒂再炮轰神经刀:我没有贬低总冠军麦蒂北京时间9月9日,据美媒...
- 家装知识 2020-06-01
-
蠢到爆麦蒂再炮轰神经刀我没有贬低总冠军搭配
-
-
观澜湖NBA篮球冬令营下月开营搭配
观澜湖NBA篮球冬令营下月开营北京时间1月4日消息,由观澜湖和NBA合作的篮球...
- 家装知识 2020-05-27
-
观澜湖NBA篮球冬令营下月开营搭配
-
-
p家居商紧抓装修旺季开展促销大戏p
家居商紧抓装修旺季 开展“促销大戏”导读:春季往往是装修旺季,首府各...
- 家装知识 2020-02-26
-
p家居商紧抓装修旺季开展促销大戏p
-
-
p中国卫浴市场有量变无质变p
中国卫浴市场有量变 无质变中国卫浴市场本土行业的数量和分布可谓是琳琅...
- 家装知识 2020-02-21
-
p中国卫浴市场有量变无质变p
-
-
p家具不宜细碎大户型设计可以这么玩p
家具不宜细碎 大户型设计可以这么玩对大户型的装修设计,应该跳出装修谈...
- 家装知识 2020-02-20
-
p家具不宜细碎大户型设计可以这么玩p