一个存储过程

裸奔的蜗牛 2006-10-23 10:47:42
大哥帮帮我!!!
我的表:
ID username usertype

存储过程:
CREATE PROC P_GetInfo
@id int,
@username varchar(50) output
AS
begin
select * from T_My_Test where ID=@id;
RETURN
end
GO
调用存储过程输出参数@username:
function
{
..../打开链接
myCommand.Parameters.Add(new SqlParameter("@id",SqlDbType.Int));//添加参数
myCommand.Parameters["@id"].Value =1;


SqlParameter paramID = new SqlParameter("@username",SqlDbType.VarChar);
paramID.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(paramID);
.....//绑定数据
输出参数:
}

提示错误: 过程 'P_GetInfo' 需要参数 '@username',但未提供该参数
...全文
120 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
caobin518 2006-10-23
  • 打赏
  • 举报
回复
收藏
brio8425 2006-10-23
  • 打赏
  • 举报
回复
有了output就没必要return了。。
要return就没必要output。。。
Cloudy201 2006-10-23
  • 打赏
  • 举报
回复
SqlParameter OutputValue = dbCmd.Parameters.Add("@username", SqlDbType.VarChar, 30); // 添加存储过程OUTPUT参数 OutputValue
OutputValue.Direction = ParameterDirection.Output;
OutputValue.Value = "";
存储过程:
CREATE PROC P_GetInfo
@id int,
@username varchar(50) output
AS
begin
select @username=username from T_My_Test where ID=@id;
RETURN
end
GO
brio8425 2006-10-23
  • 打赏
  • 举报
回复
paramID.Direction = ParameterDirection.OutPut;

还有就是你的存储过程似乎并没有对@username 赋值。。。
可以
BEGIN
select @username= (select username from T_My_Test where ID=@id)
END
happyamei 2006-10-23
  • 打赏
  • 举报
回复
你这样写得不到那个值,因为没有返回值啊

应该改成如下:

存储过程:
CREATE PROC P_GetInfo
@id int,
@username varchar(50) output
AS
begin
select @username=username from T_My_Test where ID=@id;
RETURN
end
GO
copico 2006-10-23
  • 打赏
  • 举报
回复
paramID.Direction = ParameterDirection.ReturnValue;

这里写错了,不是RETURNVALUE,应该是OUTPUT的
hedonister 2006-10-23
  • 打赏
  • 举报
回复
肯定要给参数啊,一个初始化了的空字符串即可
裸奔的蜗牛 2006-10-23
  • 打赏
  • 举报
回复
我想要的是输出的参数,可是怎么得到呀
裸奔的蜗牛 2006-10-23
  • 打赏
  • 举报
回复
参数 1: String 类型的“@username”,Size 属性具有无效大小值: 0

是怎么回事呀!!!!
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-23 10:47
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。