【问题标题】:Passing Empty Sql Parameter Give Error [duplicate]传递空 Sql 参数给出错误 [重复]
【发布时间】:2014-01-28 09:58:39
【问题描述】:

我将 SQL 参数数组传递给我的包装函数,例如

  SqlParameter[] sqlParams = new SqlParameter[] { 
            new SqlParameter("@UserName",userName),
            new SqlParameter("@Password",password)
  };

当我将空值传递给参数 sql server 时,会出现以下错误:

过程或函数“AuthenticateUser”需要参数“@Password”,但未提供。

【问题讨论】:

标签: c# sql-server asp.net-mvc


【解决方案1】:

你应该传递d​​bnull值然后参数值为null:

SqlParameter[] sqlParams = new SqlParameter[] { 
            new SqlParameter("@UserName",(object)userName ?? DBNull.Value),
            new SqlParameter("@Password",(object)password ?? DBNull.Value)
  };

【讨论】:

  • 谢谢亚历克斯,但我得到其他错误是?不能应用于字符串和system.DBNull
  • 首先将参数转换为对象:(object)userName ?? DBNull.Value
  • 它工作了............
  • 我很高兴它成功了,然后您可以将其标记为正确答案
猜你喜欢
  • 2012-12-12
  • 2023-04-06
  • 1970-01-01
  • 2013-10-16
  • 2016-10-08
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多