3

我的System.Data.SqlClient报告说我忘了传递一个参数。

好吧,我一直在为此挠头。

我在 VS2008 中使用 SQL Server 2008 R2 和 Asp.Net MVC2。

这是屏幕。

在此处输入图像描述

我错过了什么 ?

编辑

这是存储过程标头

ALTER  PROCEDURE [dbo].[ClientMst_AUTO](@Params VARCHAR(50),@result   xml output)
as
BEGIN
4

2 回答 2

2

乍一看,代码看起来不错-我看到的唯一可能解释该行为的一点是:您已将参数定义@resultParameterDirection.InputOutput-但您没有在输入端为该参数提供任何值...

parm2在添加到cmd.Parameters集合之前尝试添加此行:

parm2.Value = string.Empty;

这有什么改变吗?

或者:只需将参数定义为ParameterDirection.Output(而不是InputOutput) - 这是否解决了问题?

于 2012-05-16T06:53:13.673 回答
0

如果您不打算将值传递给@result参数,请设置parm2.DirectionParameterDirection.Output.

于 2012-05-16T06:07:21.933 回答