Private Sub Form_Load()
Dim adoCn As New ADODB.Connection
Dim adoCm As New ADODB.Command
Dim RS As New ADODB.Recordset
Dim pError As ADODB.Error
Dim constring As String
Dim ErrNo As Integer
Dim param As ADODB.Parameter
On Error GoTo ErrHandle
constring = "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=huahua;Data Source=aaa"
adoCn.Open (constring)
adoCm.ActiveConnection = adoCn
adoCm.CommandText = "cunchu"
adoCm.CommandType = adCmdStoredProc
Set param = adoCm.CreateParameter("SRR", adInteger, adParamOutput)
adoCm.Parameters.Append param
adoCm.Execute
If adoCm.Parameters("SRR").Value = 0 Then
MsgBox Err.Number
RS.CursorLocation = adUseClient
Set RS = adoCm.Execute(ErrNo, , -1)
Call adoCn_ExecuteComplete(10, pError, adStatusErrorsOccurred, adoCm, RS, adoCn)
Set Me.MSHFlexGrid1.DataSource = RS
End If
ErrHandle:
MsgBox Err.Description
End Sub
Private Sub adoCn_ExecuteComplete(ByVal RecordsAffected As Long, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pCommand As ADODB.Command, _
ByVal pRecordset As ADODB.Recordset, _
ByVal pConnection As ADODB.Connection)
If adStatus = adStatusErrorsOccurred Then
MsgBox pError.Description
Else
MsgBox "exec success"
End If
End Sub
//adoCn_ExecuteComplete方法验证存储过程是否正常执行完,若没正常执行完,强制执行完毕,可捕获异常