首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储过程显示错误“过程或函数'Dlete_Selected‘期望参数'@id',该参数没有提供”

存储过程显示错误“过程或函数'Dlete_Selected‘期望参数'@id',该参数没有提供”
EN

Stack Overflow用户
提问于 2017-04-19 06:59:35
回答 4查看 312关注 0票数 0

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

过程或函数'Dlete_Selected‘期望参数'@id',该参数未提供

这是我的存储过程:

代码语言:javascript
复制
CREATE procedure [dbo].[Delete_Selected]
    (@id bigint)
AS
    DELETE FROM Properties 
    WHERE Id = @id

这是我的代码:

代码语言:javascript
复制
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();
    }
}
EN

回答 4

Stack Overflow用户

发布于 2017-04-19 07:03:28

移除:

代码语言:javascript
复制
cmd.Parameters.Clear();

删除刚才添加的所有参数。

票数 1
EN

Stack Overflow用户

发布于 2017-04-19 07:03:54

参数在插入后立即清除。

代码语言:javascript
复制
cmd.Parameters.AddWithValue("@id", Request.QueryString["id"]);
cmd.Parameters.Clear();

您需要删除cmd.Parameters.Clear();以使其工作。

票数 1
EN

Stack Overflow用户

发布于 2017-04-19 07:06:39

修改你的代码,

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

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

再加上一行,

代码语言:javascript
复制
cmd.CommandType = CommandType.StoredProcedure;

在这行之后

代码语言:javascript
复制
cmd.CommandText = "Dlete_Selected";

希望这对你有用。这样做后,如果你停留在任何地方,那么请评论。谢谢您:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43488640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档