我的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
.