【问题标题】:why does my app complaints about a missing SQL parameter when i already supplied it?为什么我的应用程序在我已经提供 SQL 参数时抱怨缺少它?
【发布时间】:2014-03-10 12:55:27
【问题描述】:

我有一个带有 18 个参数的存储过程,其中一个参数真的让我很烦。我已将 varbinary(max) 类型的 BLOB 值传递给图像。默认情况下,我将 null 作为图像传递。然而,即使我已经传递了参数并且当我运行它时,它也给了我以下错误

Procedure or function 'USPSVUPDTCourse' expects parameter '@pBookImage', which was not supplied.

但正如你在第一张图片中看到的那样,我已经传递了参数

First Image-C# code with the throw exception

Second Image- SQL Store procedure

是否可以解决这个问题或者您是否需要更多详细信息,我的存储过程是一个正在进行的事情,但这不是逻辑错误,这不是其他事情.. : (

【问题讨论】:

  • 我猜你分配给@pBookImageBookImage是空的
  • 默认情况下从客户端应用程序设置为空,数据库表中的列也接受空值,那么我为什么要给它赋值呢?
  • 根据你的 SP 的图像,只允许 null 为你的 @pBookImage 参数像这样 @pBookImage varbinary(max) =空

标签: c# sql winforms ado.net


【解决方案1】:

在你的存储过程中检查你的输入参数看起来像这样

  @pBookImage varbinary(max) = null

这将接受 sp 中的空参数

【讨论】:

  • @AndrewMC 不要忘记将其标记为已接受,以便其他问题读者知道问题已完成。
猜你喜欢
  • 1970-01-01
  • 2015-09-12
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-08
  • 2012-08-12
相关资源
最近更新 更多