stored procedure parameter expected error !!!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bansari
    New Member
    • Jul 2010
    • 20

    stored procedure parameter expected error !!!

    Hi..i tried to make insert stored procedure.
    -------------------------------------------------------
    ALTER PROCEDURE [dbo].[insert_empdata]

    (
    @empno int,
    @empname varchar(100),
    @emppassword varchar(100),
    @empdob varchar(100)
    )

    AS

    BEGIN
    insert into Emp_3Tier values(@empno,@ empname,@emppas sword,@empdob)

    END
    -----------------------------------------------------

    when i click my button on my webpage i found such error message:

    Procedure 'insert_empdata ' expects parameter '@empno', which was not supplied.

    My aspx code is as below :
    ---------------------------------------------------------
    Code:
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    //using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    //using System.Xml.Linq;
    using System.Data.SqlClient;
    
    
    public partial class EmpDetails : System.Web.UI.Page
    {
    
       
        SqlConnection con;
        SqlCommand cmd = new SqlCommand();
    
        SqlParameter sp1, sp2, sp3, sp4;
        
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            { 
            
            }
        }
        protected void btnInsert_Click(object sender, EventArgs e)
        {
          
    
            con = new SqlConnection("Data Source=10.0.32.33;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=abcdef");
    
            int emp_no= Convert.ToInt16(txtEmpNo.Text);
            string emp_name=txtEmpName.Text;
            string emp_pass =txtpassword.Text;
            string emp_dob=ddlDay.Text + "-" + ddlMonth.Text + "-" + txtYear.Text;
    
            sp1 = new SqlParameter("@empno", emp_no);
            sp2 = new SqlParameter("empname", emp_name);
            sp3 = new SqlParameter("@emppassword", emp_pass);
            sp4 = new SqlParameter("@empdob", emp_dob);
    
          
            cmd = new SqlCommand("insert_empdata", con);
            cmd.CommandType = CommandType.StoredProcedure;
            
            try
            {
                con.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Response.Write("error occured " + ex.Message);
            }
            finally
            {
                con.Close();
            }
    
            
    
        }
    }
    ---------------------------------------------------------

    plz help.thanks in advance.
  • Subin Ninan
    New Member
    • Sep 2010
    • 91

    #2
    Error is because you have not assigned parameters with command object.

    It should be something like this:
    Code:
    cmd = new SqlCommand("insert_empdata", con);
    
    
    SqlParameter empno = cmd.Parameters.Add("@empno", dbtype.int);
    
    
    empno.Value = 0062;
    
    
    cmd.CommandType = CommandType.StoredProcedure;
    
    
    cmd.ExecuteNonQuery();
    Last edited by Subin Ninan; Oct 5 '10, 06:17 PM. Reason: Code error.

    Comment

    • mzmishra
      Recognized Expert Contributor
      • Aug 2007
      • 390

      #3
      You have defined the parameters but you are not adding that to you sqlcommand object.

      Comment

      • bansari
        New Member
        • Jul 2010
        • 20

        #4
        Thank you So much!! :)

        Comment

        Working...