System.Data.SqlClient.SqlException: 必须声明变量 '@ImageUrl'。

唉,真的是老了,昨天碰到的一个问题解决了之后,今天又碰到时又忘了昨天是怎么解决的了,所以写一写博客,帮助记忆而已。

 

一、问题:

编写插入数据到数据库代码时,出现这个问题:

System.Data.SqlClient.SqlException: 必须声明变量 '@ImageUrl'

DAL代码大概是这样的:

public int Insert(xxx.BOL.xxx bo)

{

  ...

  //参数

  List<SqlParameter> paras = new List<SqlParameter>();

  if (!string.IsNullOrEmpty(bo.属性)) paras.Add(new SqlParameter("@属性名", bo.属性名));

  ...

}

 

二、原因:

傻了!若bo.属性真为空时,参数“@属性名”岂不没有添加到命令的参数数组中去?!当然就会了出现“必须声明变量'@属性名'”的广告了。

 

三、解决:

改成:

SqlParameter para_xxx = new SqlParameter("@属性名",SqlDbType.VarChar,50);
    if (!string.IsNullOrEmpty(bo.属性名)) para_imageurl.Value = bo.属性名;
paras.Add(para_xxx);

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值