【问题标题】:Stored Procedure MVC3 error on execution执行时存储过程 MVC3 错误
【发布时间】:2011-04-08 00:07:47
【问题描述】:

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

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

IN 变量是参数,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)

有什么建议吗??

【问题讨论】:

    标签: vb.net stored-procedures


    【解决方案1】:

    我终于可以解决这个问题了……经过两天的艰苦努力。 我不知道这是否是一个错误,但错误是如何发送 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)
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      相关资源
      最近更新 更多