问题如上,很奇怪,我在数据库中增加了一个字段,然后在保存数据时就出现错误了!
代码如下:   tbl_xccb.Edit; 
   tbl_xccb.fieldbyname('xczl').asfloat := tbl_xccb.fieldbyname('xczl').asfloat + 1; (xczl是数据库刚增加的字段,如果屏蔽就不出错)
   tbl_xccb.fieldbyname('xcje').asfloat := tbl_xccb.fieldbyname('xcje').asfloat +10;   tbl_xccb.post;     (执行此句出错,无法为更新定位行,一些值可能已经在最后一次读取后更改。)   我认为是很莫名其妙的问题,我用的是delphi 6,不会是它的bug 吧!奇怪的是下边一句就不出错。各位老师们,请帮忙吧!解决就给分!

解决方案 »

  1.   

    後台字段xczl類型定義為Float惹的禍,換成Numeric型試試
      

  2.   

    不是啦!别的字段都是这么定义的啊!它不是提示读取后改变吗,我就在使用前把数据库关闭、打开一次,这样的办法太弱智了!
    但是更伤心的是后来这样的办法都不行了!
       tbl_xccb.Edit; 
       tbl_xccb.fieldbyname('xczl').asfloat := tbl_xccb.fieldbyname('xczl').asfloat + 1; (把这句话屏蔽就不出错了,下一句怎么不出错啊)
       tbl_xccb.fieldbyname('xcje').asfloat := tbl_xccb.fieldbyname('xcje').asfloat +10;   tbl_xccb.post;     
      

  3.   

    我是拷贝的别的字段的定义,只是把字段名称修改了,是不是delphi6的bug 啊