我用TQuery1.FieldByName('字段名').AsInteger := TQuery1.RecNo;给记录编号,但是第一条记录的编号为-1,请问该如何解决。

解决方案 »

  1.   

    Query1.First;
    while not Query1.Eof do
    begin
    TQuery1.FieldByName('字段名').AsInteger := Query1.RecNo;
    Query1.Next;
    end;
      

  2.   

    var
      Guard:integer;
      Number:integer;function GetAutoInc:integer;
    asm
      @@1:  mov edx,1
            xchg Guard,edx
            or   edx,edx
            jnz  @@2
            mov  eax,Number
            inc  eax
            mov  Number,eax
            mov  Guard,edx
            ret
      @@2:  push 0
            call sleep
            jmp @@1
    end;Query1.First;
    while not Query1.Eof do
    begin
    TQuery1.FieldByName('字段名').AsInteger := GetAutoInc;
    Query1.Next;
    end;
      

  3.   

    调用Query1.RecNo前
    Query1.LAST
    Query1.FIRST
    石游标贵零