调用存储过程的Vb6错误

时间:2014-09-17 07:25:37

标签: vb6

当我从错误处理程序运行此代码时,我一直收到错误。

我需要做的就是将变量传递给我创建的存储过程, 我有一个包含列表视图和重新激活按钮的表单。

当我在列表视图中选择调查问卷然后单击重新激活时,它应该将有效的调查问卷ID发送到存储过程。

以下是代码:

Private Sub btnReActivate_Click()
    strModuleName = "frmReport.Reactivate"
    Dim oConn As ADODB.Connection
    Dim objCmd As New ADODB.Command

    On Error GoTo ErrorHandler

    Set oConn = GetConnection

    If oConn.State = adStateOpen Then
        Set objCmd = Nothing
        With objCmd
            .CommandText = "sproc_Reactivate"
            .CommandType = adCmdStoredProc
            .ActiveConnection = oConn
            ' Refresh the parameters collection and populate it
            .Parameters.Append _
                objCmd.CreateParameter("@ID", adInteger, adParamInput, , Mid(LV.SelectedItem.Key, 2, Len(LV.SelectedItem.Key) - 2))
        End With
        ' Execute the command
        objCmd.Execute
    End If

ErrorHandler:
    MsgBox GetMessage("frmModule1", 1, True, "Module: " & strModuleName & " Line: " & Erl & " - " & Err.Number, Err.Description), vbCritical, "Manage"
End Sub

我得到:“发生错误参考:[模块frmReport.Reactivate行:0-0] - []”

1 个答案:

答案 0 :(得分:3)

您的代码有点不完整,因为它缺少ErrorHandler部分,但在Exit Sub标签之前是否有ErrorHandler:?从错误中看,函数似乎成功但通过正常的代码流进入ErrorHandler例程。

通常,在VB6中,错误处理程序表单是:

On Error GoTo MyErrorHandler

... lots of code here

'If we reach this point, we have a successful exit
Exit Sub

MyErrorHandler:
... Code to display/handle error here ....