简体   繁体   English

存储的过程显示错误“过程或函数'Dlete_Selected'期望参数'@id',未提供”

[英]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 过程或函数“ Dlete_Selected”期望参数“ @id”(未提供)

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(); 您需要删除cmd.Parameters.Clear(); to make it work. 使它工作。

Modify Your code, 修改您的代码,

You have passed Request.QueryString["id"] which returns String value. 您已经传递了Request.QueryString["id"] ,该返回字符串值。 and in sp you have specified big int type. 在sp中,您已指定big int类型。

So convert it, like, Convert.ToInt64(Request.QueryString["id"]) 因此,将其转换,例如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();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 存储过程或函数需要未提供的参数 - Stored procedure or function expects parameter which was not supplied “过程或函数需要未提供的参数”错误 - 'Procedure or function expects parameter, which was not supplied' error 过程或函数预期未提供参数错误 - Procedure or Function expects parameter error which was not supplied 错误:过程或函数需要未提供的参数 - Error: Procedure or function expects parameter which was not supplied 存储过程需要未提供的参数 id 值 - Stored procedure expects parameter id value which is not supplied 从C#代码调用存储过程时,出现SQL错误“过程或函数需要参数,但未提供” - Sql error “Procedure or function expects parameter , which was not supplied” when calling a stored procedure from c# code C#存储过程或函数需要未提供的参数 - C# Stored procedure or function expects parameter which is not supplied 过程或函数“ procname”需要未提供的参数“ @id” - Procedure or function 'procname' expects parameter '@id', which was not supplied 过程或函数“ sp_getchech”需要未提供的参数“ @ID” - Procedure or function 'sp_getchech' expects parameter '@ID', which was not supplied 过程或函数“ AddUpdateContactDetails”期望参数“ @Id”(未提供) - Procedure or function 'AddUpdateContactDetails' expects parameter '@Id', which was not supplied
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM