4

我想为我的存储过程提供一个输出参数。此输出过程正在返回byte[]。我该怎么做呢?

如果我执行以下操作:

command.Parameters.Add(new SqlParameter("@Bytes", SqlDbType.VarBinary));
command.Parameters[1].Direction = ParameterDirection.Output;

我得到:

System.InvalidOperationException: Byte[][1]: the Size property has an invalid size of 0. This stored proc works fine in SQL Server when I execute it via the SSMS option "Execute Stored Procedure).

有任何想法吗?谢谢

4

2 回答 2

4

如果您不知道返回大小,请使用 -1,例如

New SqlParameter("@PreviewImage", SqlDbType.VarBinary) With {.Direction = ParameterDirection.Output, .Size = -1}

这将返回任何大小。

于 2011-09-21T13:34:50.500 回答
2

您必须为 Size 参数赋值:

 new SqlParameter("@Bytes", SqlDbType.VarBinary, 8000)
于 2010-06-14T10:10:26.100 回答