Query4.close;
  Query4.SQL.Clear;
  Query4.SQL.Add('select Max(号码) from diaochu');
  Query4.Open;
  Edit.text:=Query4.fieldbyname('diaochu').asstring;别忘了给我分!

解决方案 »

  1.   


      Query4.close;
      Query4.SQL.Clear;
      Query4.SQL.Add('select Max(号码) from diaochu');
      Query4.Open;
      Edit.text:=inttostr(strtoint(Query4.fields[0].asstring)+1); 
      

  2.   

    哎,分一定给,不过是加1后再赋值啊,要加1的。
    Edit.text:=Query4.fieldbyname('diaochu').asstring + 1;//+1
      

  3.   

    是不是‘123’----〉‘1231’??
    Edit.text:=Query4.fieldbyname('diaochu').asstring + '1';
    或是‘123’---〉‘124’?
    Edit.text:=IntToStr(StrToInt(Query4.fieldbyname('diaochu').asstring) + 1);
      

  4.   

    Nicky_he(尼克) :不对,能编译,不过运行后提示:  ''不是有效的整数值。
    主要是因为我的这个表是空的,还没有任何记录,查询出的最大值是''空的,因此会出错,如何解决?
      

  5.   

    如果把字段类型换成integer型的话是不是能解决?
      

  6.   


    query4.close;
    query4.sql.clear;
    query4.sql.add('select max(号码) from diaochu');
    query4.openedit1.text := inttostr(query1.fields[0].asinteger+1);是不是这样呢??
      

  7.   

     Query4.close;
     Query4.SQL.Clear;
     Query4.SQL.Add('select Max(号码) as Str from diaochu');//as 后面的是自己加上的字段这样就可以直接使用了!   
     Query4.Open; 
      Edit1.text:=inttostr(strtoint(query4.fieldbyname('str').asstring)+1);
    不知道符合要求吗??
      

  8.   

    这样的句子也有问题?:
    ParamByName('号码').Asinteger := dxedit3.Text;
    增加记录的,我把号码的类型改成了integer,然后改这里,结果编译通不过。
    说是:[Error] Unit13.pas(103): Incompatible types: 'Integer' and 'TCaption'
      

  9.   

    把这一句  Query4.SQL.Add('select Max(号码) from diaochu');
    改成
     Query4.Sql.Add('Select IsNull(Max(号码),'0') from DiaoChu');
    后面的不变,就可以了。
      

  10.   

    Nicky_he(尼克) :
    [Error] Unit13.pas(180): Missing operator or semicolon
    通不过。