再次请问:
var
  i: integerquery1.sql.clear;
query1.sql.add('select max(ShipmentNo) from HandBook');
query1.open;
i := query1.fields[0].asinteger;query1.close;
结果:越界。

解决方案 »

  1.   

    i := query1.fieldbyname('ShipmentNo').asinteger;
      

  2.   

    i := query1.fields[0].asinteger;应该也可以呀
      

  3.   

    我试过
    i := query1.fieldbyname('ShipmentNo').asinteger;
    不可以。
    再试
    i := query1.fields[0].asinteger;
    提示:
    list index out of bound(0)
      

  4.   

    query1.sql.add('select isNULL(max(ShipmentNo),0) from HandBook');//*********
    i := query1.fieldbyname('ShipmentNo').asinteger;
      

  5.   

    //错了,这样
    query1.sql.add('select isNULL(max(ShipmentNo),0) as ShipmentNo  from HandBook');//*********
    i := query1.fieldbyname('ShipmentNo').asinteger;
      

  6.   

    怎么会出现这种怪事,再仔细看看,或者把你的程序发给我[email protected]