简体   繁体   中英

Stored procedure showing an error“ Procedure or function 'Dlete_Selected' expects parameter '@id', which was not supplied”

I have called a stored procedure with parameters but it showing an error

Procedure or function 'Dlete_Selected' expects parameter '@id', which was not supplied

Here is my stored procedure:

CREATE procedure [dbo].[Delete_Selected]
    (@id bigint)
AS
    DELETE FROM Properties 
    WHERE Id = @id

Here is my code:

protected void btnDeleteSelected_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;

    cmd.CommandText = "Delete_Selected";
    cmd.Parameters.AddWithValue("@id", Request.QueryString["id"]);
    cmd.Parameters.Clear();
    DataTable dtb = dboMrk.GetDataTableFrmDB(cmd);

    if (dtb.Rows.Count > 0)
    {
        dtlstdata.DataSource = dtb;
        dtlstdata.DataBind();
    }
}

Remove:

cmd.Parameters.Clear();

You delete all parameters you just added.

parameters are cleared just after inserted.

cmd.Parameters.AddWithValue("@id", Request.QueryString["id"]);
cmd.Parameters.Clear();

you need to remove cmd.Parameters.Clear(); to make it work.

Modify Your code,

You have passed Request.QueryString["id"] which returns String value. and in sp you have specified big int type.

So convert it, like, Convert.ToInt64(Request.QueryString["id"])

and also add one line,

cmd.CommandType = CommandType.StoredProcedure;

after this line

cmd.CommandText = "Dlete_Selected";

Hopefully, this will work for you. After doing this if you stuck anywhere then plz comment. Thank you :)

Try this:

protected void btnDeleteSelected_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;


    cmd.CommandText = "Dlete_Selected";
    cmd.Parameters.AddWithValue("@id", Request.QueryString["id"]);
    //cmd.Parameters.Clear();
    DataTable dtb = dboMrk.GetDataTableFrmDB(cmd);

    if (dtb.Rows.Count > 0)
    {
        dtlstdata.DataSource = dtb;
        dtlstdata.DataBind();
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM