过程或函数 Event_Update 指定的参数太多

Procedure or function Event_Update has too many arguments specified

我在尝试使用来自 c# 代码的过程函数更新 table 事件时收到错误消息 Procedure or function Event_Update has too many arguments specified.

更新程序

create procedure Event_Update
@id int,
@image varchar(50),
@title varchar(255),
@description varchar(255),
@date date

as

begin
update event set image = @image,title=@title,description=@description,event_date=@date where id=@id
end

事件Table

create table event(
id int identity(1,1) primary key,
image varchar(50) not null,
title varchar(255) not null,
description varchar(255) not null,
event_date date not null
)

C#代码

public void update(int id,string title, string image, string events, string date)
    {
        cmd.CommandText = "Event_Update";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@id", id);
        cmd.Parameters.AddWithValue("@title", title);
        cmd.Parameters.AddWithValue("@image", image);
        cmd.Parameters.AddWithValue("@description", events);
        cmd.Parameters.AddWithValue("@date", date);
        cmd.ExecuteNonQuery();
    }

cmd是全局变量?在 update 方法中清除 cmd.Parameters

public void update(int id,string title, string image, string events, string date)
{
    cmd.Parameters.Clear();
    cmd.CommandText = "Event_Update";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@id", id);
    cmd.Parameters.AddWithValue("@title", title);
    cmd.Parameters.AddWithValue("@image", image);
    cmd.Parameters.AddWithValue("@description", events);
    cmd.Parameters.AddWithValue("@date", date);
    cmd.ExecuteNonQuery();
}