存储过程传回返回值有两种方法,都需要在客户端当作参数处理:
1、return返回,只能返回int型的,你可以自己定移如0表示成功、1表示密码不对、-1表示账号不对等。
2、output参数返回,返回的可行可以自己看情况定,sql的数据类型除image、text、table外都可以。
1、return返回,只能返回int型的,你可以自己定移如0表示成功、1表示密码不对、-1表示账号不对等。
2、output参数返回,返回的可行可以自己看情况定,sql的数据类型除image、text、table外都可以。
return ok=1
那么在aspx页面里应该怎样写来接受ok的值?
应该是return 1,而不是return ok=1
CREATE PROCEDURE cc
@CategoryName nvarchar(50), @OrdYear nvarchar(50)
AS select name,password from member where name=@CategoryName,password=@OrdYearGO那么如果SQL发现name和password不符,
select name....后面应该怎样写?请帮忙。
@CategoryName nvarchar(50), @OrdYear nvarchar(50)
AS if exists (select name,password from member where name=@CategoryName,password=@OrdYear)
return 0
else
return 1GO或者存储过成不变,在客户端判断返回的记录集记录数,=0表示不能登陆。
@CategoryName nvarchar(50), @OrdYear nvarchar(50)
@OKCount integer
AS SELECT @OKCount = count(*) FROM member WHERE
name=@CategoryName,password=@OrdYear
IF @OKCount = 1
BEGIN
SELECT 1 //成功
END
SELECT 0 //失败
if exists (select * from sysobjects where id = object_id('dbo.Usp_Registerlogin') and sysstat & 0xf = 4)
drop procedure dbo.Usp_Registerlogin
GOCREATE PROCEDURE Usp_Registerlogin
@loginname nvarchar(50), /* register login name */
@password nvarchar(30) /* register password */
AS declare @rc int /* SP return code */
set nocount on
select @rc = 0
if @rc = 0
begin
if exists (select * from dbo.employees where cast(loginname as varbinary)=cast(@loginname as varbinary)
begin
select @rc=0
end
else
begin
select @rc=-1
return @rc
end if exists (select * from dbo.employees where cast([password] as varbinary)=cast(@password
as varbinary)) begin
select @rc=0
end
else
begin
select @rc=-2
return @rc
end
end
GO
CREATE PROCEDURE cc
@CategoryName nvarchar(50), @OrdYear nvarchar(50)
AS if exists (select name,password from member where name=@CategoryName,password=@OrdYear)
return 0
else
return 1GO
之后,在aspx页面怎样得到1和0?用什么命令?给个例子好吗?