当前位置: 代码迷 >> ASP.NET >> ASP.NET,存储过程。有关问题很简单,但小弟我偏不能解决
  详细解决方案

ASP.NET,存储过程。有关问题很简单,但小弟我偏不能解决

热度:8612   发布时间:2013-02-25 00:00:00.0
ASP.NET,存储过程。问题很简单,但我偏不能解决
SqlCommand com = con.CreateCommand();
  com.CommandText = "get_paper_id";
  com.CommandType = CommandType.StoredProcedure;
  com.Parameters.AddWithValue("@course", "计算机体系结构");
  com.Parameters.AddWithValue("@year", "2022");
  com.Parameters.AddWithValue("@semester", "第一学期");
  com.Parameters.AddWithValue("@paper_name", "计算机体系结构");
  com.Parameters.Add("@id", SqlDbType.VarChar);
  com.Parameters["@id"].Direction = ParameterDirection.Output;
  com.ExecuteNonQuery();

ALTER PROCEDURE [dbo].[get_paper_id]
@course varchar(30),
@year varchar(10),
@semester varchar(8),
@paper_name varchar(100),
@id varchar(10) output
AS
select @id=id from paper where 课程=@course and 年份=@year and 学期=@semester and 试题=@paper_name
return

连接啊什么的,其他的都没问题的,数据库中也存在对应数据,偶核对多次,没问题的。但结果就是报错,偶放到了SQL Server上试试,同一个数据库,这存储过程使用正常啊,那问题应该是ASP.NET中的问题了。
但我看来看去,不知所以然。
报错:String[4]: Size 属性具有无效大小值 0。

执行到com.ExecuteNonQuery();执行这句就断了。

------解决方案--------------------------------------------------------
com.Parameters.Add("@id", SqlDbType.VarChar, 10);
  相关解决方案