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=@FDebit】,所以会更新成0;而另一个字段FDebit在SQL语句中找不到了(被当成了FAcctID的参数),自然就不会更新。

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

最新文章

  1. Excel 点滴积累
  2. chrome浏览器调用 ajax 提示net::ERR_INCOMPLETE_CHUNKED_ENCODING问题解决方案,以及 Response.Close 和 Response.End 的一些问题。
  3. 【代码笔记】iOS-时间选择框
  4. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
  5. Android View.onMeasure方法的理解
  6. ionic入门之AngularJS扩展基本布局
  7. HDU 1558 Segment set (并查集+线段非规范相交)
  8. 使用XCopy发布网页
  9. android安全:forceStopPackage对android的Alarm的影响
  10. 第三方框架FMDB
  11. Git 版本控制工具(学习笔记)
  12. 【原创教程】鲸吞HTML
  13. Javascript系列之在HTML中使用JavaScript
  14. [C入门 - 游戏编程系列] 序言篇
  15. python安装依赖
  16. JPA的介绍
  17. 百度地图移动版API 1.2.2版本(Android)地图偏移的最佳解决办法
  18. 查看java线程cpu占用情况的脚本
  19. ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集
  20. 1.使用C++封装一个链表类LinkList

热门文章

  1. python变量、注释、程序交互、格式化输入、基本运算符
  2. JS HTML倒计时 进入页面
  3. 前端--vue框架
  4. Linux安装配置JDK1.7
  5. zabbix安装脚本
  6. 27.Hibernate-缓存和懒加载.md
  7. Hibernate 再接触 性能优化
  8. python学习笔记(三)- 字典、集合
  9. combox省市县三级联动
  10. Java日志框架-logback的介绍及配置使用方法(纯Java工程)(转)