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

存储过程 怎样能把表中的某列的值赋给output参数。(ID列除外)

这个是我的问题代码:
create proc LoginSelect
@UserName char(15),
@UserPsw char(15),
@ClipBalance char(10) OUTPUT
as
select a.@UserName,a.@UserPsw,b.ClipBalance from UserTabel as a inner join ClipTable as b on(a.UserId=b.ClipId)
//想把b.ClipBalance 列的值赋给@ClipBalance.
//求指点.
go --------------------编程问答-------------------- create proc LoginSelect 
@UserName char(15), 
@UserPsw char(15), 
@ClipBalance char(10) OUTPUT 
as 
select @ClipBalance=b.ClipBalance from UserTabel as a inner join ClipTable as b on(a.UserId=b.ClipId) 

强调一点啊,如果你的select能提取多个记录,@ClipBalance只能获得一条记录的b.ClipBalance值。如果你想提取出多条记录就不能用这个output 的参数输出符合条件的记录 --------------------编程问答--------------------
select * from class


ALTER proc usp_outputParamer
(@classID int,
 @className nvarchar(50) output
)
as
begin
select
@className=className from class where calssId=@classID
select @className
end


exec usp_outputParamer 1,''
--------------------编程问答-------------------- select @ClipBalance=b.ClipBalance from UserTabel as a inner join ClipTable as b on(a.UserId=b.ClipId)  
--------------------编程问答--------------------
引用 1 楼 beginow 的回复:
create proc LoginSelect  
@UserName char(15),  
@UserPsw char(15),  
@ClipBalance char(10) OUTPUT  
as  
select @ClipBalance=b.ClipBalance from UserTabel as a inner join ClipTable as b on(a.UserId=b.ClipId)  

强调一点啊,如果你的select能提取多个记录,@ClipBalance只能获得一条记录的b.ClipBalance值。如果你想提取出多条记录就不能用这个output 的参数输出符合条件的记录

这样就可以
或者你可以直接获得Reader,然后取值也行啊,
甚至可以获得DataSet来取列值。 --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,