我想为我的存储过程提供输出参数。此输出proc返回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).
有什么想法吗? 感谢
答案 0 :(得分:3)
如果您不知道返回大小,请使用-1,例如
New SqlParameter("@PreviewImage", SqlDbType.VarBinary) With {.Direction = ParameterDirection.Output, .Size = -1}
这将返回任何大小。
答案 1 :(得分:2)
您必须为Size参数赋值:
new SqlParameter("@Bytes", SqlDbType.VarBinary, 8000)