【C#机房重构】都是空格惹的祸——Parameter ‘@CardCash‘ must be defined


• 问题

在做机房重构下机时,数据库执行命令报错:Parameter ‘@CardCash’ must be defined
 
译:必须定义参数“@CardCash”:

在这里插入图片描述

• 思考

出现这个错误的第一个反应,必然是去查看是否自己的数据库和传参数的实体以及UI层,B层的参数是否写错了,都仔细检查了一遍,并没有出错,确实是定义的CardCash。
 
并且进行断点调试,发现参数已经从B层传进D层了,也传到MySQLHelper这个类了,怎么到最后执行命令的时候却报异常呢?

• 解决

小编百思不得其解,请来了我们期的大佬,经过大佬的细心调试和研究,终于找到了小编的问题所在。

原来是小编在传参是多敲了一个空格,也就是在赋实参时写成了“@CardCash=CardCashEntity. CardCash”。
 
也就是实参写成了“ CardCash”,在CardCash前边有一个空格,导致在代码执行时,传的实参“_CardCash” 为:
“空格+CardCash”与数据库中的字段“CardCash”不匹配,所以识别不到这个参数,提示“Parameter’@CardCash’ must be defined.”

• 总结

敲代码要细心,按照代码规范编程,否则会出现意想不到的bug——不过也可能是帮助你成长的台阶呦,毕竟没有问题才是最大的问题,解决问题才能更好的成长,当你遇到太多坑之后自然而然的对出现的bug有一种特别的敏感。

哈哈哈,不过为了工作效率,还是不要犯这种低级错误了,有可能会把你搞崩溃!

细心、规范,认真编程吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ariel_欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值