插入注册信息问题

nice90 阿里巴巴人工智能实验室 项目经理  2002-07-24 12:30:58
我的存储过程如下:
CREATE Procedure sp_personsign
@id varchar(12),
@password varchar(12),
@mail varchar(30),
@oicq varchar(10),
@pages varchar(100),
@sign varchar(500),
@introduce varchar(500),

@isValid char(3) output
as
if exists(select id from login where id=@id)

select @isvalid="bad"
else
insert into login (id,password,mail,oicq,pages,sign,introduce) values (@id,@password,@mail,@oicq,@pages,@sign,@introduce)
return

这样会出现这样的错误:
[Microsoft][ODBC SQL Server Driver][SQL Server]Procedure 'sp_personsign' expects parameter '@isValid', which was not supplied.
/chat/signok.asp, 行86

但是,我将存储过程改为下面这样:
CREATE Procedure sp_personsign
@id varchar(12),
@password varchar(12),
@mail varchar(30),
@oicq varchar(10),
@pages varchar(100),
@sign varchar(500),
@introduce varchar(500)

as
insert into login (id,password,mail,oicq,pages,sign,introduce) values (@id,@password,@mail,@oicq,@pages,@sign,@introduce)
return

不要其中的判断---是否在这个人注册之前就有人注册了该用户名,就能够写入个人的注册信息。
我想问到底该怎样写上面的提示。我不想用两个存储过程来判断。
...全文
45 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackcatiii 2002-07-24
这样改行不行.(你的存储过程里怎么用双引号做字符串分隔符啊?)
CREATE Procedure sp_personsign
@id varchar(12),
@password varchar(12),
@mail varchar(30),
@oicq varchar(10),
@pages varchar(100),
@sign varchar(500),
@introduce varchar(500),
as
declare @isValid char(3)
if exists(select id from login where id=@id)
select @isvalid='bad'
else
begin
insert into login (id,password,mail,oicq,pages,sign,introduce) values (@id,@password,@mail,@oicq,@pages,@sign,@introduce)
select @isvalid=''
end
select isValid=@isvalid
go

执行存储过程后,取rs("isValid")判断是否为"bad"
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告