【问题标题】:Procedure or function 'sp_InsertImages' expects parameter '@Img_path', which was not supplied过程或函数“sp_InsertImages”需要参数“@Img_path”,但未提供该参数
【发布时间】:2015-04-01 10:13:59
【问题描述】:

我在我的代码和过程中通过了 img_path,但它显示错误,请任何人帮助我。 我的程序是:

create proc sp_InsertImages
(
  @Img_path nvarchar(max),
  @product_id numeric(18,0),
  @IsCover_Img bit
)
as
begin
if(select COUNT(*) from tbl_productImg where product_id=@product_id)<5
begin
insert into tbl_productImg(Img_path,product_id,IsCover_Img)values(@Img_path,@product_id,@IsCover_Img)
select @@IDENTITY
end
else
begin
select -1
end
end

【问题讨论】:

标签: sql-server sql-server-2008 sql-server-2008-r2 stored-procedures


【解决方案1】:

您的命令类型必须像这样设置为StoredProcedure

cmd.CommandType = CommandType.StoredProcedure;

要从过程中获取产品 ID,请调用 ExecuteScalar() 而不是 ExecuteNonQuery(),如下所示

 product_ID = Convert.ToDouble(sql.ExecuteScalar());

【讨论】:

  • @vibha,sp_ 存储过程前缀是为系统存储过程保留的。除了重命名 proc 之外,我建议您也添加适当的架构名称(例如 dbo),因为这可以提高性能。
猜你喜欢
  • 2020-12-14
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多