var dd,ff:Integer;    dd:=DM.q_1.FieldValues['jiechunum'];//jiechunum和shengyunum都是sql数据库中的int型字段
    dd:=dd-1;
    ff:=DM.q_1.FieldValues['shengyunum'];
    ff:=ff+1;数据已经查询出来,可以在文本框中显示正确的数字,我想在程序中改变数值编译的时候为什么说数据类型不匹配啊?该怎么写?

解决方案 »

  1.   

    dd:=DM.q_1.Fieldbyname('jiechunum').asinteger;
    试试
      

  2.   

    先谢谢了,编译的时候指示的是ff:=DM.q_1.FieldValues['shengyunum'];这行类型不匹配,而且只有一个类型不匹配的错误。
    coffee36说的方法我试过了,还是出现这样的错误:(也是指向同一行)
    [Error] U_1.pas(120): Incompatible types: 'String' and 'Integer'
    [Error] U_1.pas(120): Incompatible types
      

  3.   

    你把两个都改过来。如果还不行,就看看你的数据库的字段是不是INTEGER型的。
    否则,就不是这条语句的错误,检查它的上几条语句吧,
      

  4.   

    去看看你的数据库里的那个表,看看那个字段是什么类型的.应该是你用的integer类型和数据库的字段类型不一致.