当前位置:编程学习 > C#/ASP.NET >>

请教:参数 0: String 类型的“@temp”,Size 属性具有无效大小值: 0

存储过程为
alter proc myproc
@temp varchar(50) output
as
select @temp=cityname from city where cityid=1 and proid=1

在调用时
con=DB.CreateConn();
cmd=new SqlCommand("myproc",con);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter sp=new SqlParameter("@temp",SqlDbType.VarChar);
sp.Direction=ParameterDirection.Output;
sp.ToString();
cmd.Parameters.Add(sp);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
this.Label1.Text=cmd.Parameters["@temp"].Value.ToString();
提示参数 0: String 类型的“@temp”,Size 属性具有无效大小值: 0 
是数据类型不对吗,请指教,谢谢!! --------------------编程问答-------------------- try..

SqlParameter sp=new SqlParameter("@temp",SqlDbType.VarChar,20);
--------------------编程问答-------------------- SqlParameter sp = new SqlParameter("@temp", SqlDbType.VarChar,50);
--------------------编程问答-------------------- 传入参数可以不指定长度,直接给值,但传出的必须指定长度
--------------------编程问答--------------------
引用 3 楼 cpp2017 的回复:
传入参数可以不指定长度,直接给值,但传出的必须指定长度 

不是把,我传出就没有设定值 --------------------编程问答-------------------- 我也有同样的问题,刚刚解决了
SqlParameter   sp=new   SqlParameter( "@temp ",SqlDbType.VarChar); 
这句应该改为
SqlParameter   sp=new   SqlParameter( "@temp ",SqlDbType.VarChar,50);
初始化该字段时大小必须设置大小

不明白可以看这里
http://119116112.spaces.live.com/blog/cns!39E35383A54CED70!148.entry

或者

http://www.chinaaspx.com/Comm/Dotnetbbs/Showtopic.aspx?Forum_ID=6&Id=149392 
--------------------编程问答-------------------- 3楼说的有道理 --------------------编程问答-------------------- sp.ToString(); 这是什么意思 --------------------编程问答-------------------- ding --------------------编程问答--------------------
引用 2 楼 cpp2017 的回复:
SqlParameter   sp   =   new   SqlParameter( "@temp ",   SqlDbType.VarChar,50); 


你的cityname是英文吗?不是的话要用nVarChar --------------------编程问答-------------------- 输出参数必须指定长度
执行存储过程出现这个错误

param[1] = comm.Parameters.Add("@Name", SqlDbType.VarChar); //错误
param[1].Value = Name ;
param[1].Direction = ParameterDirection.Output;

output方式从存储过程传出参数必须使用三个参数版本的,Parameters.Add("@Name", SqlDbType.VarChar,50);
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,