执行时存储过程MVC3错误

时间:2011-04-07 14:49:27

标签: vb.net stored-procedures

我有一个存储过程,它读取一个表并将这些数据插入到antoher表中。这就是它的工作方式,因为第一个表使用带有SSIS的包从excel导入数据。

在EF4中我导入了SP并创建了函数导入: 该SP有2个IN变量和2个OUT变量。

IN varibales是参数,O​​UT变量是一条消息和创建的记录数。

我把代码生成了:

#Region "Function Imports"

''' <summary>
''' No Metadata Documentation available.
''' </summary>
''' <param name="parIDPoliza">No Metadata Documentation available.</param>
''' <param name="parFechaActual">No Metadata Documentation available.</param>
''' <param name="varError">No Metadata Documentation available.</param>
''' <param name="varKontador">No Metadata Documentation available.</param>
Public Function spCargaArchivos(parIDPoliza As Nullable(Of Global.System.Int64), parFechaActual As Nullable(Of Global.System.DateTime), varError As ObjectParameter, varKontador As ObjectParameter) As Integer
    Dim parIDPolizaParameter As ObjectParameter
    If (parIDPoliza.HasValue) Then
        parIDPolizaParameter = New ObjectParameter("parIDPoliza", parIDPoliza)
    Else
        parIDPolizaParameter = New ObjectParameter("parIDPoliza", GetType(Global.System.Int64))
    End If

    Dim parFechaActualParameter As ObjectParameter
    If (parFechaActual.HasValue) Then
        parFechaActualParameter = New ObjectParameter("parFechaActual", parFechaActual)
    Else
        parFechaActualParameter = New ObjectParameter("parFechaActual", GetType(Global.System.DateTime))
    End If

    Return MyBase.ExecuteFunction("spCargaArchivos", parIDPolizaParameter, parFechaActualParameter, varError, varKontador)

End Function

#End Region

但是当我尝试执行SP时,我得到错误:
参数数组中索引2处的参数为空

执行

Dim varMensaje As Objects.ObjectParameter = Nothing
Dim varError As Objects.ObjectParameter = Nothing
Dim varRespuesta As Integer = varEntidades.spCargaArchivos(parIDPoliza, Now.Date, varError, varMensaje)

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

最后,经过两天的努力,我可以解决这个问题。 我不知道它是否是一个错误,但错误是如何发送OUTPUT变量。

类型与“模型浏览器”属性中的“函数导入”

相同
Dim varTotalRegistros As Objects.ObjectParameter = New Objects.ObjectParameter("varKontador", GetType(Global.System.Int64))
Dim varError As Objects.ObjectParameter = New Objects.ObjectParameter("varError", GetType(Global.System.String))
Dim varRespuesta As Integer = varEntidades.spCargaArchivos(parIDPoliza, Now.Date, varError, varTotalRegistros)
祝你好运!!