师傅您在哪里【求助】 我创建了一个用户登录表,然后新建了一个登录验证的储存过程:
USE [SD]
GO
/****** Object: StoredProcedure [dbo].[userLogin] Script Date: 10/23/2013 18:56:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[userLogin]
@username NVarchar(50) ,@password NVarchar(150)
AS SELECT *from users where Username=@username and Password=@password;
执行储存过程:
USE [SD]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[userLogin]
@username = N'12',
@password = N'12'
SELECT 'Return Value' = @return_value
GO
不解的是该行内容查询出来了,然而'Return Value却显示为0.正常情况应该是为1.如果为0,那么我用户登录便一直等录失败。
请问这是哪里做错了,该怎样解决啊 大婶门@CSharper
SQL2008,储存过程
分享到:
------解决方案--------------------
把存储过程改一下把:
ALTER PROCEDURE [dbo].[userLogin]
@username NVarchar(50) ,@password NVarchar(150)
AS
if exists(SELECT 1 from users where Username=@username and Password=@password)
return 1; --验证登陆
else
return 0; --验证失败
go