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子程序來檢測是否有錯誤發(fā)生: 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 %> 這個程序檢測是否有錯誤,如果有,則為每一個錯誤創(chuàng)建一個表格,并給出了如圖8-11所示的結(jié)果。
Execute方法可選擇地返回一個記錄集,在這種情況下只要將返回值賦給記錄集變量。例如: Set conPubs = Server.CreateObject("ADODB.Connection")
conPubs.Open strConn
Set rsAuthors = conPubs.Execute("Authors") 讀者可能會奇怪使用Connection對象的Execute方法與使用Recordset對象的Open方法之間到底有什么區(qū)別?看上去區(qū)別不是很大,使用Recordset對象的Open方法可以改變光標(biāo)類型和鎖定類型。這些選項(xiàng)對于Connection對象的Execute方法是不可用的,因此永遠(yuǎn)只能得到一個只能前移的、只讀的記錄集。
9.1.2 操作命令 如果正在運(yùn)行操作命令,比如一個SQL UPDATE語句,那么可以使用RecordAffected參數(shù)找出有多少條記錄受到該命令的影響。例如: Dim strSQL As String Dim lngRecs As Long