当前位置: 移动技术网 > IT编程>开发语言>.net > WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题

WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题

2019年04月22日  | 移动技术网IT编程  | 我要评论

如何扎头发简单好看,深圳房屋信息,银行活期存款年利率

wpf窗体中建有一个datagrid,运行后修改各行数据,通过update方法更新后台数据库。发现在数据库中,其中一列facctid(文本型)每次都会变为0,还有一列fdebit(货币型)不能更新,其他列则没有问题。主要代码如下:

oledbcommand cmdupdateacct = new oledbcommand();
cmdupdateacct.connection = conacct;
cmdupdateacct.commandtext = "update t_voucher set fdate=@fdate, fexp=@fexp, facctid=@facctid,fdebit=@fdebit, fcredit=@fcredit where fid=@fid";

排查了好几个小时,对xaml代码绑定、parameter参数进行修改,均没有找到问题出在哪里。最后,注释掉该行代码,试着重新写sql语句,一个字段一个字段地进行测试,却再没有出现这个问题。两行代码如下:

从代码编辑器来看,两行代码一模一样。试着比较两行代码,提示不一致。最后粘贴到word中观察,发现@facctid,fdebit=之间的逗号是一个全角逗号,但是在代码编辑器中全角逗号和半角逗号十分相似,没有word中那么明显。

最终原因找到,原来是逗号惹的祸。因为faccid对应的参数本来是【@faccid】,却变成了【@faccid,fdebit】,所以会更新成0;而另一个字段fdebit在sql语句中找不到了(被当成了facctid的参数),自然就不会更新。

在此记载一下,以提醒自己今后注意。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网