木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2012-01-17 👁 9825 👍 0 💬 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[color=Red], 20[/color]));
cmd.Parameters.Add(new SqlParameter("@Receiver", SqlDbType.NVarChar[color=Red], 20[/color]));
cmd.Parameters.Add(new SqlParameter("@MsgTitle", SqlDbType.NVarChar[color=Red], 100[/color]));
cmd.Parameters.Add(new SqlParameter("@MsgContent", SqlDbType.NVarChar[color=Red], 500[/color]));

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 淘宝查看买家信用评价方法小结 下一篇 → Firefox扩展Greasemonkey使用示例