看看我的存储过程的问题

aniude 2005-04-28 01:50:57
Create procedure ck_c
(
@user_name Char(10),
@user_pass Char(10),
@@uid int output
)
As
Begin
Declare @Exist Int
if Exists(select user_all.uid From user_all
where [user_name]=@user_name
and user_pass = @user_pass)

Select @Exist = 1

else
Select @Exist = 0
return @Exist
ENd
这是判断用户名密码的存储过程,如果存在的话就返回1,而我现在又想读出他的id 值,传个uid这个参数,但写了老是报错,请大家指点指点!谢谢@
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xluzhong 2005-04-28
  • 打赏
  • 举报
回复
Create procedure ck_c
(
@user_name Char(10),
@user_pass Char(10),
@uid int output
)
As
Begin
Declare @Exist Int
select @uid=user_all.uid From user_all
where [user_name]=@user_name
and user_pass = @user_pass

if @@rowcount=0
begin
Select @Exist = 0
return @Exit
end
else
begin
Select @Exist = 1
return @uid
end

ENd
Well 2005-04-28
  • 打赏
  • 举报
回复
传个uid这个参数,但写了老是报错,请大家指点指点!谢谢@
@@uid int output改為@uid
還有想保存輸出的值﹐
在存儲過程里定義了output型。
在偉參數的時候一定也要加上在此變量旁邊加上output
exec procedureName ...@ex_uid output --這個output不能少
wudan8057 2005-04-28
  • 打赏
  • 举报
回复
alter procedure ck_c
(
@user_name Char(10),
@user_pass Char(10),
@uid int output
)
As
Begin
Declare @Exist Int

if Exists(select * From user_all
where [user_name]=@user_name
and user_pass = @user_pass)
begin
select @uid = user_all.uid From user_all where [user_name]=@user_name and user_pass = @user_pass
set @Exist = 1
end
else
begin
set @Exist = 0
end
return @Exist
ENd

--调用
declare @s_username char(10)
declare @s_userpass char(10)
declare @i_uid int
declare @i_return int
select @s_username = 'dd',
@s_userpass = 'cc'
exec @i_return = ck_c @s_username,@user_pass,@i_uid output

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧