Solved

Stored Procedure Parameters not being passed

Posted on 2009-07-14
19
174 Views
Last Modified: 2012-05-07
I am trying to write a stored procedure to insert data into a table in SQL Server 2005.  The stored procedure seems fine, except no matter what, it won't enter any values into the table.  What it seems is, after the stored procedure runs and if I enter information into the text box of the stored procedure module, no data gets passed.  But, if I were to assign values to the stored procedure ahead of time, it appears to hold the values.  What should I do to fix this problem?
0
Comment
Question by:VBBRett
  • 12
  • 7
19 Comments
 
LVL 60

Expert Comment

by:chapmandew
ID: 24852377
post your stored proc on here.
0
 

Author Comment

by:VBBRett
ID: 24852472
USE [EmployeeScreening]
GO
/****** Object:  StoredProcedure [dbo].[InsertMemberFamilyInfo]    Script Date: 07/14/2009 14:18:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:            <user1>
-- Create date: <07/13/09>
-- Description:      <Insert Employee Family Information>
-- =============================================
ALTER PROCEDURE [dbo].[InsertMemberFamilyInfo]
      -- Add the parameters for the stored procedure here      
      @MemberFamilyID                        int = NULL OUTPUT,
      @EmployeeID                              int = 2,
      @MemberFamilyNumber                  int = 2,
      @Allergies                              nvarchar(50),
      @Weight                                    int,
      @Age                                    int,
      @DateOfBirth                        datetime,
      @MemberFamilyCreatedDate      datetime,
      @MemberFamilyCreatedBy            nvarchar(50)      
AS
BEGIN

          -- Insert statements for procedure here
      INSERT INTO MemberFamilyInfo (EmployeeID, MemberFamilyNumber, Allergies,
      Weight, Age, DateOfBirth, MemberFamilyCreatedDate, MemberFamilyCreatedBy) VALUES
(@EmployeeID, @MemberFamilyNumber, @Allergies, @Weight, @Age, @DateOfBirth,
@MemberFamilyCreatedDate, @MemberFamilyCreatedBy);

SET @MemberFamilyID = SCOPE_IDENTITY();
            
      END;

DECLARE @ID INT;
EXEC dbo.InsertMemberFamilyInfo @MemberFamilyID = @ID OUT

SELECT @ID ID;
0
 

Author Comment

by:VBBRett
ID: 24852485
MemberFamilyID is the primary key in this stored procedure.
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 60

Expert Comment

by:chapmandew
ID: 24852493
is a record getting inserted?
0
 

Author Comment

by:VBBRett
ID: 24852501
no, no records getting inserted.  In fact, I will show the error message after this
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24852517
I think the proc is fine....it is the way you're calling it that is causing you fits.
0
 

Author Comment

by:VBBRett
ID: 24852549
Here is the stored procedure executable after I ran the stored procedure, see picture and below is the error:


(1 row(s) affected)
Msg 201, Level 16, State 4, Procedure InsertMemberFamilyInfo, Line 0
Procedure or function 'InsertMemberFamilyInfo' expects parameter '@Allergies', which was not supplied.

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

executestoredprocedure.jpg
0
 

Author Comment

by:VBBRett
ID: 24852567
chapmandew, I am running this directly from Sql Server 2005.  All I am doing is executing the stored proc and no values are getting inserted.  Also when I try to insert it using a web form, no new records get created.  If it doesn't work in SQL Server Management Studio Express, it won't work anywhere.  So how do I get this to work?
0
 

Author Comment

by:VBBRett
ID: 24852854
I bet you are clueless right?  Don't know the answer to this one?  Well, this has everyone stumped.  Why am I unable to pass paramters into the database?  It's almost like SQL Server turned into a big steamy pile of Sh!*!
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24852875
I thought yous aid that when you passed them in directly it worked fine...

put some select statements in your proc to see if the variables get in OK


select @var1, @var2, @var3....

it will print them to the screen when you run it.
0
 

Author Comment

by:VBBRett
ID: 24852907
I even recreated the same stupid stored procedure under a different name and I'm still getting the same obnoxious stupid error!  


(1 row(s) affected)
Msg 201, Level 16, State 4, Procedure InsertMemberFamilyInfo, Line 0
Procedure or function 'InsertMemberFamilyInfo' expects parameter '@EmployeeID', which was not supplied.

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

WHAT DO I HAVE TO DO TO INSERT A STINKIN RECORD?
0
 

Author Comment

by:VBBRett
ID: 24852916
Shall I create another thread until I get the answer?
0
 

Author Comment

by:VBBRett
ID: 24852920
Doesn't anybody know what is wrong?  It's a very simple stored procedure.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24852934
First, settle down...we'll figure this out.
0
 

Author Comment

by:VBBRett
ID: 24852956
Sorry, I have been working on this all day and it is really starting to irk me.  This is something so simple to accomplish and Microsoft throws a monkey wrench in the works.
0
 
LVL 60

Accepted Solution

by:
chapmandew earned 500 total points
ID: 24853004
OK...this works fine for me....
create table memberfamilyinfo
(
MemberFamilyID INT IDENTITY(1,1),
EmployeeID INT, MemberFamilyNumber  INT, Allergies nvarchar(50),
      Weight INT, Age INT, DateOfBirth datetime, MemberFamilyCreatedDate datetime, MemberFamilyCreatedBy nvarchar(50)
)
 
GO
 
-- =============================================
-- Author:            <user1>
-- Create date: <07/13/09>
-- Description:      <Insert Employee Family Information>
-- =============================================
CREATE PROCEDURE [dbo].[InsertMemberFamilyInfo]
      -- Add the parameters for the stored procedure here      
      @MemberFamilyID                        int = NULL OUTPUT,
      @EmployeeID                              int = 2,
      @MemberFamilyNumber                  int = 2,
      @Allergies                              nvarchar(50),
      @Weight                                    int,
      @Age                                    int,
      @DateOfBirth                        datetime,
      @MemberFamilyCreatedDate      datetime,
      @MemberFamilyCreatedBy            nvarchar(50)      
AS
BEGIN
 
          -- Insert statements for procedure here
      INSERT INTO MemberFamilyInfo (EmployeeID, MemberFamilyNumber, Allergies,
      Weight, Age, DateOfBirth, MemberFamilyCreatedDate, MemberFamilyCreatedBy) VALUES
(@EmployeeID, @MemberFamilyNumber, @Allergies, @Weight, @Age, @DateOfBirth,
@MemberFamilyCreatedDate, @MemberFamilyCreatedBy);
 
SET @MemberFamilyID = SCOPE_IDENTITY();
            
      END;
GO
DECLARE @ID INT;
EXEC dbo.InsertMemberFamilyInfo @MemberFamilyID = @ID OUT, 
      @EmployeeID                               = 2,
      @MemberFamilyNumber                   = 2,
      @Allergies                             = 'none',
      @Weight                                  =  5,
      @Age                                   = 5,
      @DateOfBirth                        = '1/1/2009',
      @MemberFamilyCreatedDate      = '3/1/2009',
      @MemberFamilyCreatedBy         =   'chapman'
 
SELECT @ID ID;
 
GO
 
select * from MemberFamilyInfo

Open in new window

0
 

Author Comment

by:VBBRett
ID: 24853413
Hi chapman, how would you do an update and a delete stored procedure also?
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24853435
Woudl work the same way....close this question out (yours is a new one), and Id be happy to answer....
0
 

Author Closing Comment

by:VBBRett
ID: 31603398
Thanks chapman!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you having speed problem in loading SQL Server Management Studio, try to uncheck these options in your internet browser (IE -> Internet Options / Advanced / Security):    . Check for publisher's certificate revocation    . Check for server ce…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question