IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[TheWay_Membership_CreateUser]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[TheWay_Membership_CreateUser]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

CREATE PROCEDURE [dbo].[TheWay_Membership_CreateUser]
@UserName nvarchar(256),
@Password nvarchar(128),
@Salt nvarchar(128),
@Email nvarchar(256),
@PasswordQuestion nvarchar(256),
@PasswordAnswer nvarchar(128),
@IsApproved bit,
@UniqueEmail int = 0,
@PasswordFormat int = 0,
@NewUserID int OUTPUT
AS
PRINT 'ERROR: No title_id was specified.'
SELECT @NewUserID=0
--检查是否已经有相同的用户名存在,存在则返回-1
IF ( EXISTS ( SELECT UserID FROM dbo.TheWay_Users WHERE UserName = @UserName ) )
BEGIN
RETURN(-1)
END
ELSE
IF(@UniqueEmail = 1)
BEGIN--检查是否要求要不重复的Email,如果要求,则检查是否已经存在相同的Email,如果存在返回-2
IF(EXISTS(SELECT UserID FROM dbo.TheWay_Users WHERE Email = @Email))
BEGIN
RETURN(-2)
END
END
ELSE
BEGIN
--插入必要的数据到数据库,并将UserID查询返回,成功则返回1
INSERT INTO dbo.TheWay_Users
(
UserName,
Password,
PasswordFormat,
Salt,
PasswordQuestion,
PasswordAnswer,
Email,
IsApproved
)
VALUES
(
@UserName,
@Password,
@PasswordFormat,
@Salt,
@PasswordQuestion,
@PasswordAnswer,
@Email,
@IsApproved
)
IF(EXISTS(SELECT @NewUserID=UserID FROM dbo.TheWay_Users Where UserName=@UserName))
BEGIN
RETURN(1)
END
ELSE
BEGIN
RETURN(-3)
END
END
GO我是个菜鸟,帮帮忙。
posted @
2006-03-03 22:33 fuyude.net 阅读(429) 评论()
编辑 收藏