存储过程在创建新用户期间将null值返回给参数 [英] Stored procedure returning null value to parameter during creating a new user
本文介绍了存储过程在创建新用户期间将null值返回给参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个按钮要添加用户,如果我点击按钮弹出来添加用户,
但保存时我收到异常用户ID没有提供给程序..
在表中,登录用户ID是int不为空。
我保留了一个调试器,并尝试@userid为null ..并且procedurere期待一个参数@ userid,我错了,
任何存储过程问题,任何改变我存储过程的建议
想法??
建议??
我尝试过的事情:
I have A button To add User, if i click Button a pop Up comes to add user,
But While Saving I am getting a exception user id not supplied to procedure..
In Table login userid is int not null.
I kept a debugger and tried @userid is null..And procedre is expecting a parameter @userid, where i am going wrong ,
Any stored procedre problem, any suggestions to change my stored procedre
ideas??
suggestions??
What I have tried:
ALTER PROCEDURE logins @UserId VARCHAR(50)
,@UserName VARCHAR(100)
,@FirstName VARCHAR(100)
,@LastName VARCHAR(100)
,@Email VARCHAR(200)
,@Password VARCHAR(100)
,@AllNames VARCHAR(max)
AS
BEGIN
IF @UserId IS NULL
INSERT INTO logins (
UserName
,FirstName
,LastName
,Email
,ROLE
,DateCreated
,DateModified
,Password
,Allnames
)
VALUES (
@UserName
,@FirstName
,@LastName
,@Email
,'Admin'
,GetDate()
,GetDate()
,@Password
,@allnames
)
ELSE
UPDATE logins
SET UserName = @UserName
,FirstName = @FirstName
,LastName = @LastName
,AllNames = @Allnames
WHERE UserId = @UserId
END
推荐答案
设置@UserId VARCHAR(50)= null。
如果是整数字段中的UserID,则将参数作为Int。
EX:
ALTER PROCEDURE登录@UserId int = null
,@ UserName VARCHAR(100)
,@ FirstName VARCHAR(100)
,@ LastName VARCHAR(100)
,@ Email VARCHAR(200)
,@ Password VARCHAR (100)
,@ AllNames VARCHAR(最大)
AS
BEGIN
如果@UserId为空
INSERT INTO登录(
用户名
,FirstName
,LastName
,电子邮件
,角色
,DateCreated
,DateModified
,密码
,Alln ames
)
价值(
@UserName
,@ FirstName
, @姓名
,@电子邮件
,'管理员'
,GetDate()
,GetDate()
,@密码
,@ allnames
)
ELSE
UPDATE登录
SET UserName = @UserName
,FirstName = @FirstName
,LastName = @LastName
,AssignedGroups = @ Allnames
WHERE UserId = @UserId
END
Set @UserId VARCHAR(50)=null.
If UserID in an integer field then take parameter as Int.
EX:
ALTER PROCEDURE logins @UserId int = null
,@UserName VARCHAR(100)
,@FirstName VARCHAR(100)
,@LastName VARCHAR(100)
,@Email VARCHAR(200)
,@Password VARCHAR(100)
,@AllNames VARCHAR(max)
AS
BEGIN
IF @UserId IS NULL
INSERT INTO logins (
UserName
,FirstName
,LastName
,ROLE
,DateCreated
,DateModified
,Password
,Allnames
)
VALUES (
@UserName
,@FirstName
,@LastName
,'Admin'
,GetDate()
,GetDate()
,@Password
,@allnames
)
ELSE
UPDATE logins
SET UserName = @UserName
,FirstName = @FirstName
,LastName = @LastName
,AssignedGroups = @Allnames
WHERE UserId = @UserId
END
这篇关于存储过程在创建新用户期间将null值返回给参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文