create proc p_update_userpwd(
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begin
declare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0 --
end if
end;这是我的存储过程代码
目的就是 更改用户密码
1、先去获得原有密码
2、比较用户输入的旧密码与数据库的是否一样
3、如果不一样 输出参数赋值 1
4、如果一样 输出参数赋值 0
结束。
但是系统总是提示我 最后一句 end 有错误
实在找不到
请教高手
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begin
declare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0 --
end if
end;这是我的存储过程代码
目的就是 更改用户密码
1、先去获得原有密码
2、比较用户输入的旧密码与数据库的是否一样
3、如果不一样 输出参数赋值 1
4、如果一样 输出参数赋值 0
结束。
但是系统总是提示我 最后一句 end 有错误
实在找不到
请教高手
create proc p_update_userpwd(
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begin
declare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0 -- end;
if @uoldpwd!=@oldpwd
set @outstr=1
这句以后 直接跳出存储过程 怎么写?
但是现在出现了个问题我以前使用vs2005时 都是可以对存储过程进行 单步跟踪调试
但是在2008里 每次我选择单步执行存储过程 系统一下就执行完了,根本不管我有没有断点
不知道为什么 希望大家帮忙
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begin
declare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
begin
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0
end
end
create table t_user(users_name varchar(20), users_pwd varchar(30));insert into t_user(users_name,users_pwd)
select
'luoyoumou','hao123' union all select
'huajianguo','hll1234';
---------------------------------------------------create proc p_update_userpwd(
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begindeclare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0 -- print (@outstr)
end/*
exec p_update_userpwd 'luoyoumou','hao123','888888',''
*/
create table t_user(users_name varchar(20), users_pwd varchar(30));insert into t_user(users_name,users_pwd)
select
'luoyoumou','hao123' union all select
'huajianguo','hll1234';
---------------------------------------------------alter proc p_update_userpwd(
@uname varchar(50), --用户名
@oldpwd varchar(50), --旧密码
@newpwd varchar(50), --新密码
@outstr varchar(50)output) --操作状态标识符
as
begindeclare @uoldpwd varchar(50) --获取查询后的用户密码
select @uoldpwd=users_pwd from t_user where users_name=@uname
if @uoldpwd!=@oldpwd
set @outstr=1 --查询后 用户输入的原始密码不正确
else
begin
update t_user set users_pwd=@newpwd where users_name=@uname
set @outstr=0 --
end
print (@outstr)
end/*
exec p_update_userpwd 'luoyoumou','hao123','888888',''
*/