If CheckForErrors (rsAuthors.ActiveConnection) = False Then While Not rsAuthors.EOF Response.Write rsAuthors("au_lname") & ", " & _ rsAuthors("au_fname") & "<BR>" rsAuthors.MoveNext Wend End If
rsAuthors.Close Set rsAuthors = Nothing %> 这里可使用CheckForErrors子程序来检测是否有错误发生: Function CheckForErrors(objConn)
Dim objError ' Error object
' Errors means the count will be greater than 0 If objConn.Errors.Count > 0 Then
' Loop through the errors For each objError in objConn.Errors
' Eorros with number 0 are informational If objError.number <> 0 then Response.Write "<TABLE BORDER=1>" & _ "<TR><TD>Error PRoperty</TD><TD>Contents</TD>" & _ "</TR><TR><TD>Number</TD><TD>" & objError.Number & _ "</TD></TR><TR><TD>NativeError</TD><TD>" & _ objError.NativeError & "</TD></TR>" & _ "<TR><TD>SQLState</TD><TD>" & objError.SQLState & _ "</TD></TR><TR><TD>Source</TD><TD>" & _ objError.Source & "</TD></TR>" & _ "<TR><TD>Description</TD><TD>" & _ objError.Description & "</TD></TR></TABLE><P>" CheckForErrors = True End If
Next
Else CheckForErrors = False End If
End Function %> 这个程序检测是否有错误,如果有,则为每一个错误创建一个表格,并给出了如图8-11所示的结果。
Execute方法可选择地返回一个记录集,在这种情况下只要将返回值赋给记录集变量。例如: Set conPubs = Server.CreateObject("ADODB.Connection")
conPubs.Open strConn
Set rsAuthors = conPubs.Execute("Authors") 读者可能会奇怪使用Connection对象的Execute方法与使用Recordset对象的Open方法之间到底有什么区别?看上去区别不是很大,使用Recordset对象的Open方法可以改变光标类型和锁定类型。这些选项对于Connection对象的Execute方法是不可用的,因此永远只能得到一个只能前移的、只读的记录集。
9.1.2 操作命令 如果正在运行操作命令,比如一个SQL UPDATE语句,那么可以使用RecordAffected参数找出有多少条记录受到该命令的影响。例如: Dim strSQL As String Dim lngRecs As Long