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.