我问大家一个问题,我在做一个过磅的程序。获取过磅时的重量的方法是从另一台服务器的表中取的。那个服务器的数是一个软件实时更新的。
    等到车停好后,过磅的仪表对应的数字不变化时我就开始取那个存过磅数的表的当前数。问题是这样的,有时取的数是正确的,有时只会出现“0”,但仪器上显示不是这个数。不知道为会什么。
    请大家帮我想想这是怎么回事或给我一个解决问题的思路,万分感谢!
   主要取数据代码如下:
             stj := ' where D_CBANGNAME=''' + Bid + ''''; //bid指取表中对应几号磅的值
            sql := 'select D_QUSHU from BENGID' + stj;
            ADO_comm.Close;
            ADO_comm.sql.Text := sql;
            ADO_comm.Open; //取出重量
            ed_mz.Text := formatfloat('0.##', strtofloat(ADO_comm.FieldByName('D_QUSHU').AsString) / 1000); //显示在ed_mz上,精确两位小数

解决方案 »

  1.   

    干吗非得从另外那个表中取呢?直接取磅的仪表数最好,很简单的。假如非得从那个服务器的表中取数的话,把为0的过滤掉就行了,可能是那个过磅的软件存数据的问题,自己取仪表的数据也有这个问题,我都是把0过滤掉
      

  2.   

    如果取到的数据是0时,再从直接取磅的仪表数数据,用个条件判断就可以了
      

  3.   

    OK了,我多取几次,要出一个稳定数就行了。结贴。
      

  4.   

    还结贴结个鬼  都个把星期了
    记得这个问题你在大富翁上也提过了吧
    一样没结