日期:2011-09-05  浏览次数:20962 次

三、Error对象:
  前面讲到了Connection对象是用于与各类的数据库进行挂接的,但在此过程中将会出现一些不可预测的错误,因而有了Error这个对象。首先要清楚一个概念,Error对象是在连接数据库时产生的,而并非那些运行时的实时错误。也就是我们常用 On Error Resume Next来忽略到的错误。这些错误将在Err对象中,我们可以用一个统一的模板来集中处理,我会在后面给出一个实例。下面还是先来看Error对象的属性和方法:
  1、 Count属性:用来统计Errors集合的数目,它的特点与前面讲到的Property对象的Count对象相同。
  2、 Clear方法:写法为Error.Clear,是用来清除Errors集合中的原有对象的,在统计新的Error对象时应该先使用此语句。
  3、 Item方法:用来指定特定的一个错误,语法为Error.Item(number),其中number为一数字。由于Item为默认的方法,所以Error(number)的写法与前面的写法是等价的。下面是一段程序。用来列举Error的所有对象。
<%
"this program is testing the ADO"s Error object
Dim i
Set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};DBQ=" _
&Server.Mappath("/source_asp")&"/property/employee.mdb;"
conn.open
if conn.errors.count>0 then
response.write "connection to database cause problem!"&"<br>"
for i =0 to conn.errors.count-1
response.write conn.errors.item(i)&"<br>"
next
else
response.write "connection to database successfully!"
end if
conn.close
%>
  对于Err对象的通用模板处理程序我将在讨论RecordSet对象时给出。
  下面我们将讨论ADO的第二个大的对象━Command对象,我的一个做网站的朋友告诉我他在平时使用ASP挂接数据库时很少使用Command对象,原因是Command对象不好使用,而喜欢用RecordSet对象。是的,可以这么说Command对象是整个ADO模型中最难掌握的一个,但也是功能和性能最好的一个。特别是它的StoredProcedue,它将处理的过程大部分都使用了在SQL Server上已经编译和优化了的存储过程,用过SQL Server的朋友都会明白的。下面就让我们来看Command对象。