【问题标题】:Error when Saving into SQL Server保存到 SQL Server 时出错
【发布时间】:2010-07-16 18:12:01
【问题描述】:

所以这里是错误...

保存时出错 控制板。 System.ArgumentOutOfRangeException: 指数超出范围。一定是 非负且小于 集合。参数名称:索引 在 System.ThrowHelper.ThrowArgumentOutOfRangeException() 在 System.Collections.Generic.List`1.get_Item(Int32 索引)在 PanelController.Save(Int32 ID,FormCollection FormValues)

在调试过程中,我检查了它添加到保存存储过程中的参数,它添加的ID是0。然后,当它使用它时

oDal.Execute("Lending.uspPanelSave")
Item.PanelId = oDal.Parameters("@PanelId").Value

要检索ID返回它,它设置为1000?有谁知道问题出在哪里?

【问题讨论】:

标签: sql-server asp.net-mvc vb.net


【解决方案1】:

使用 SqlServer Profiler(在性能工具中)查看实际发送到 SQL Server 的内容。

【讨论】:

    【解决方案2】:

    听起来好像在您的命令对象中找不到名为 @PanelId 的输出参数。是否以正确的方向添加和声明了参数?存储过程中的参数声明是否正确?

    【讨论】:

    • 方向声明如下。它在我上次检查的存储过程中。 With oDal.Parameters With .AddWithValue("@PanelId", Item.PanelId) .Direction = ParameterDirection.InputOutput
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多