【问题标题】:Stored procedure showing an error" Procedure or function 'Dlete_Selected' expects parameter '@id', which was not supplied"存储过程显示错误“过程或函数 'Dlete_Selected' 需要参数 '@id',但未提供”
【发布时间】:2017-09-15 06:21:12
【问题描述】:

我调用了一个带参数的存储过程,但它显示错误

过程或函数“Dlete_Selected”需要参数“@id”,但未提供该参数

这是我的存储过程:

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

这是我的代码:

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();
    }
}

【问题讨论】:

标签: c# asp.net


【解决方案1】:

删除:

cmd.Parameters.Clear();

你删除了你刚刚添加的所有参数。

【讨论】:

    【解决方案2】:

    参数在插入后被清除。

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

    您需要删除 cmd.Parameters.Clear(); 才能使其正常工作。

    【讨论】:

      【解决方案3】:

      修改你的代码,

      你已经传递了Request.QueryString["id"],它返回字符串值。 在 sp 你已经指定了 big int 类型。

      所以转换它,比如Convert.ToInt64(Request.QueryString["id"])

      还加一行,

      cmd.CommandType = CommandType.StoredProcedure;
      

      在这行之后

      cmd.CommandText = "Dlete_Selected";
      

      希望这对您有用。 这样做之后,如果您卡在任何地方,请发表评论。谢谢你:)

      【讨论】:

        【解决方案4】:

        试试这个:

        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();
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-22
          • 1970-01-01
          • 2016-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-14
          相关资源
          最近更新 更多