Solved

Procedure or function has too many arguments specified.

Posted on 2009-05-15
1
353 Views
Last Modified: 2012-05-07
Hello,

I have an insert on my page that that runs this procedure:
It works if I run the procedure itself... otherwise when I clicked on the button I got this:

 Procedure or function sp_EvaluationVisitInsert has too many arguments specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Procedure or function sp_EvaluationVisitInsert has too many arguments specified.

Source Error:

Line 139:        myConnection.Open();
Line 140:        
Line 141:        cmd3.ExecuteNonQuery();
Line 142:        lblMessage3.Text = "You have Created a Evaluation Visit Record!";
Line 143:        myConnection.Close();


alter  PROCEDURE sp_EvaluationVisitInsert(
      @ParticipantID as int,
      @EvaluationID as int,
      @DateEvaluation as datetime) AS
      
BEGIN
/*
declare @ParticipantID as int,
      @EvaluationID as int,
      @DateEvaluation as datetime

set  @ParticipantID = '3'
set  @EvaluationID ='1'
set  @DateEvaluation ='05/12/2009'
*/

--if not exists (select ParticipantID from tbl_Participant where ParticipantID = @ParticipantID)


INSERT INTO tbl_EvaluationVisit(ParticipantID,
                    EvaluationID,
                    DateEvaluation
                    )
VALUES
      (@ParticipantID,
       @EvaluationID,
       @DateEvaluation
      )

UPDATE tbl_Participant SET  tbl_Participant.EvaluationVisitID = tbl_EvaluationVisit.EvaluationVisitID  
FROM tbl_Participant join tbl_EvaluationVisit ON tbl_Participant.ParticipantID = tbl_EvaluationVisit.ParticipantID


END


protected void EvaluationVisitAdd_Click(object sender, EventArgs e)
    {
 
        // create the insert command
 
        SqlCommand cmd3 = new SqlCommand("sp_EvaluationVisitInsert", myConnection);
        cmd3.CommandType = CommandType.StoredProcedure;
        cmd3.Parameters.Add(new SqlParameter("@ParticipantID", txtParticipantID.Text.Trim()));
       
        string strDateEvaluation = txtEvaluationDate.Text.Trim();
        cmd3.Parameters.Add(new SqlParameter("@DateEvaluation", strDateEvaluation));
 
        cmd3.Parameters.Add(new SqlParameter("@EvaluationID", ddlEvaluationType.SelectedValue));
        cmd3.Parameters.Add(new SqlParameter("@ParticipantLastName", txtLastName.Text.Trim()));
      
        myConnection.Open();
        
        cmd3.ExecuteNonQuery();
        lblMessage3.Text = "You have Created a Evaluation Visit Record!";
        myConnection.Close();
 
      
 
      //  Response.Redirect("participantEdit.aspx?r=" + ParticipantID);
 
        myConnection.Close();
 
 
 
    }

Open in new window

0
Comment
Question by:Romacali
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 24399981
your procedure has 3 parameters, but your c# code adds 4 parameters ...
I think the maths are obvious...
aka:
        cmd3.Parameters.Add(new SqlParameter("@ParticipantLastName", txtLastName.Text.Trim()));
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

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

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

622 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