问题一:
with query9 do
   begin
   close;
   sql.clear;
   sql.add('select max(XH) from dagl');
   SHOWMESSAGE(query9.?);
   open;问题二:
如何在点击dbnavigator的insert后序号字段的数字自动加一?问题三:
如何解决PARADOX在用SQL查询时不能使用SUM和AVG?
*********
艾呀!俺没有可用分了!版主救命!!

解决方案 »

  1.   

    问题一,可以用fields数组拿到值,比如说XH是integer,可以象下面这样拿到值。
    SHOWMESSAGE(inttostr(query9.fields[0].asinteger));
      

  2.   

    问题二:
    应该放在数据集的afterinsert事件中做吧
      

  3.   

    to killlaoli(菜鸟):
    谢谢!但是: 
    我用SHOWMESSAGE(inttostr(query9.fields[0].asinteger));之后
    delphi提示:“列表索引越界(0)”
    ???
      

  4.   

    ShowMessage(Query9.Fields.Fields[0].asString);无论你的数据是什么类型,用.asString都自动转换成字符串
      

  5.   

    谢谢楼上各位!
    还想就问题三请教一下:
    如何解决PARADOX在用SQL查询时不能使用SUM和AVG?
    有结果就结贴!(俺快没有可用分了!版主救命!!倾家荡产!!!)
      

  6.   

    with query9 do
       begin
       close;
       sql.clear;
       sql.add('select isnull(max(XH),0) from dagl');
       SHOWMESSAGE(query9.fields[0].asstring);
       open;
    end;在query得newrecord事件中写:
    query.fieldbyname('xh').asstring:='001'
      

  7.   

    如果paradox不支持sum和avg,可以这样写:比如我要对field2来sum,avg
    x:=0;//x是你定义得一个变量,real;
    i:=0;
    query.open;
    while not query.eof do
    begin
      i:=i+1;
      x:=x+query.fieldbyname(field2).asinteger;
      next;
    end;sum得值为:x
    avg的值为:x/i  (I<>0)