Select   MAx(id)   from   表 
  
  如果表中没有纪录哪么新纪录id=1000    
  如果有纪录那么新纪录的id=max(id)+1   

解决方案 »

  1.   

    select case when MAx(id) is null then 1000 else MAx(id)+1 end id from 表
      

  2.   

    如果是Accessselect iif(isnull(max(id)),1000,max(id)+1) from 表
      

  3.   

    oracle   
    :)select decode(max(id),null,1000,max(id)+1) from 表
      

  4.   


    请问如何将你那个查询带入到下面语句里面呢?编号是a11
    procedure TForm1.AddData(aaa: integer; tablename,a1, a2, a3, a4, a5, a6, a7: string);
    var
      NewItem : TListItem;
    beginADOQuery1.close;
    ADOQuery1.SQL.Clear;
    a7:=DateTostr(date());
    ADOQuery1.SQL.Add('insert into 数据库 values(:a11,:g,:e,:c,''0'',:f,:a,:d,:b,''0'',''0'',''0'',null,:k)');
    ADOQuery1.Parameters.ParamByName('a11').Value :=aaa;
    ADOQuery1.Parameters.ParamByName('a').Value:=a1;
    ADOQuery1.Parameters.ParamByName('b').Value:=a2 ;
    ADOQuery1.Parameters.ParamByName('c').Value:=a3 ;
    ADOQuery1.Parameters.ParamByName('d').Value:=a4 ;
    ADOQuery1.Parameters.ParamByName('e').Value:=a5 ;
    ADOQuery1.Parameters.ParamByName('g').Value:=a6 ;
    ADOQuery1.Parameters.ParamByName('f').Value:=combobox1.Text ;
    ADOQuery1.Parameters.ParamByName('k').Value:=a7;
    ADOQuery1.ExecSQL;
    end;
      

  5.   

    procedure TForm1.AddData(aaa: integer; tablename,a1, a2, a3, a4, a5, a6, a7: string);
    var
      NewItem : TListItem;
      ml:string;
    beginADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(' select case when MAx(id) is null then 1000 else MAx(id)+1 end id from 表');
    ADOQuery1.open;
    m1:=ADOQuery1.feilds[0].asstring;
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    a7:=DateTostr(date());
    ADOQuery1.SQL.Add('insert into 数据库 values(:a11,:g,:e,:c,''0'',:f,:a,:d,:b,''0'',''0'',''0'',null,:k)');
    ADOQuery1.Parameters.ParamByName('a11').Value :=ml;
    ADOQuery1.Parameters.ParamByName('a').Value:=a1;
    ADOQuery1.Parameters.ParamByName('b').Value:=a2 ;
    ADOQuery1.Parameters.ParamByName('c').Value:=a3 ;
    ADOQuery1.Parameters.ParamByName('d').Value:=a4 ;
    ADOQuery1.Parameters.ParamByName('e').Value:=a5 ;
    ADOQuery1.Parameters.ParamByName('g').Value:=a6 ;
    ADOQuery1.Parameters.ParamByName('f').Value:=combobox1.Text ;
    ADOQuery1.Parameters.ParamByName('k').Value:=a7;
    ADOQuery1.ExecSQL;
    end;
      

  6.   


    ml:=ADOQuery1.feilds[0].asstring; 
    这里出错