C#调用存储过程出错:String[2]: Size 属性具有无效大小值 0

有个如下结构的存储过程TestPR:

Create PROCEDURE [dbo].[TestPR]
    @RequestId int,
    @Sender nvarchar(20) output,
    @Receiver nvarchar(20) output,
    @MsgTitle nvarchar(100) output,
    @MsgContent nvarchar(500) output,
AS
GO

C#调用时出错,提示:String[2]: Size 属性具有无效大小值 0。



最终发现原因是给SqlCommand对象添加查询参数时没有指定参数大小,加上就正常了:

cmd.Parameters.Add(new SqlParameter("@RequestId", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@Sender", SqlDbType.NVarChar, 20));
cmd.Parameters.Add(new SqlParameter("@Receiver", SqlDbType.NVarChar, 20));
cmd.Parameters.Add(new SqlParameter("@MsgTitle", SqlDbType.NVarChar, 100));
cmd.Parameters.Add(new SqlParameter("@MsgContent", SqlDbType.NVarChar, 500));


评论: 0 | 引用: 0 | 查看次数: 8891
发表评论
登录后再发表评论!