我的System.Data.SqlClient报告说我忘了传递一个参数。
好吧,我一直在为此挠头。
我在 VS2008 中使用 SQL Server 2008 R2 和 Asp.Net MVC2。
这是屏幕。

我错过了什么 ?
编辑
这是存储过程标头
ALTER PROCEDURE [dbo].[ClientMst_AUTO](@Params VARCHAR(50),@result xml output)
as
BEGIN
我的System.Data.SqlClient报告说我忘了传递一个参数。
好吧,我一直在为此挠头。
我在 VS2008 中使用 SQL Server 2008 R2 和 Asp.Net MVC2。
这是屏幕。

我错过了什么 ?
编辑
这是存储过程标头
ALTER PROCEDURE [dbo].[ClientMst_AUTO](@Params VARCHAR(50),@result xml output)
as
BEGIN
乍一看,代码看起来不错-我看到的唯一可能解释该行为的一点是:您已将参数定义@result为ParameterDirection.InputOutput-但您没有在输入端为该参数提供任何值...
parm2在添加到cmd.Parameters集合之前尝试添加此行:
parm2.Value = string.Empty;
这有什么改变吗?
或者:只需将参数定义为ParameterDirection.Output(而不是InputOutput) - 这是否解决了问题?
如果您不打算将值传递给@result参数,请设置parm2.Direction为ParameterDirection.Output.