Solved

Procedure or function has too many arguments specified.

Posted on 2009-05-15
1
343 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
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

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

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

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

837 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