Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 过程或函数“usp_UserAddNewUser”需要参数_Sql Server_Stored Procedures_Parameters_Insert - Fatal编程技术网

Sql server 过程或函数“usp_UserAddNewUser”需要参数

Sql server 过程或函数“usp_UserAddNewUser”需要参数,sql-server,stored-procedures,parameters,insert,Sql Server,Stored Procedures,Parameters,Insert,我写了一个存储过程,但我得到了一个错误。请引导我,如何摆脱它 错误:过程或函数“usp_UserAddNewUser”需要未提供的参数“@FirstName” 代码: 看来我发现了你的问题 你给我的是: USE [MVC4DB] GO DECLARE return_value int EXEC return_value = [dbo].[usp_UserAddNewUser] SELECT 'Return Value' = return_value GO 我的示例的正确语法是 exe

我写了一个存储过程,但我得到了一个错误。请引导我,如何摆脱它

错误:过程或函数“usp_UserAddNewUser”需要未提供的参数“@FirstName”

代码:


看来我发现了你的问题

你给我的是:

USE [MVC4DB] GO DECLARE return_value int EXEC   return_value = [dbo].[usp_UserAddNewUser] SELECT    'Return Value' = return_value GO
我的示例的正确语法是

exec usp_UserAddNewUser 'Joker','TheJoke','Joking@Joker.com','12345678','At my cave','Mr.J','Secret'
例如,不能将select语句插入存储过程,因为存储过程需要您创建的参数

如果您真的希望存储过程如您所愿,我会像这样修改您的代码

create proc usp_UserAddNewUser
           (@FirstName)
as 
begin
        INSERT INTO [dbo].[Registration]
               ([FirstName]
               ,[LastName]
               ,[Email]
               ,[ContactNumber]
               ,[Address]
               ,[UserName]
               ,[Password])
 VALUES
     select [FirstName],[LastName],[Email],[ContactNumber],[Address],[UserName],[Password] from employee where firstname = @FirstName
end

请注意,使用此语法,您可能会受到SQLi攻击,请阅读有关sp_executesql的内容,以及有关sp_executesql和Sql注入的更多信息

使用[MVC4DB]GO DECLARE return_value int EXEC return_value=[dbo]。[usp_UserAddNewUser]选择'return value'=return_value GO当我键入EXEC usp_UserAddNewUser'Joker'时,“笑话”Joking@Joker.com“,”12345678“,”在我的洞穴“,”J先生“,”秘密“然后得到错误消息102,级别15,状态1,第1行“小丑”附近语法错误。我可以得到你的skype id吗?我需要你的帮助我做了你的上述代码,但问题仍然是一样的。我可以得到你的skype id吗?对不起,我还在忙着工作,但是,我能问一下你从哪里得到要插入的数据吗?特别是insert语句的值?我是从一张桌子上猜出来的。以及有关如何将参数传递到存储过程的代码。如何调用此存储过程?这很可能是问题所在-这段代码很好我也认为这是问题所在,如果他想传递一个参数,我给他一个替代方案,因为他检索值的表在一个表中。但如果这是一个代码,那就不同了。@mar是的,现在我的问题已经解决了,谢谢你的回复
create proc usp_UserAddNewUser
           (@FirstName)
as 
begin
        INSERT INTO [dbo].[Registration]
               ([FirstName]
               ,[LastName]
               ,[Email]
               ,[ContactNumber]
               ,[Address]
               ,[UserName]
               ,[Password])
 VALUES
     select [FirstName],[LastName],[Email],[ContactNumber],[Address],[UserName],[Password] from employee where firstname = @FirstName
end