请问:我建立一个数据库,在程序中为它增加个项记录.
字段分别为:Number Name Address Sex...
Number的字段值为001-003
假设现在我的数据库里面有三条记录,如果我按下添加按钮后,
第四条记录会自动加上004,不用我再重新输入,给工作带来不便.多谢.

解决方案 »

  1.   

    procedure adddata;
    var
      aint:integer;
    begin
      with table1 do
    begin
      if not active then open;
      last;
      aint:= fieldbyname('number').asinteger;
      append;
      last;
      edit;  
      fieldbyname('number').value:=aint+1;
      post;
    end;
    end;
      

  2.   

    我想001-003是字符型,不可以直接加1的。  需要先取出003
    然后加1。
    使用QUERY或者TABLE 取出最大的值:如:001-003
    s:String;
    iNum : Integer;s:=Copy(query1.FieldByName(NUMBER).AsString,Pos('-',query1.FieldByName(NUMBER).AsString)+1,10)//取出后面的003
    iNum := StrToInt(s)+1;//得到4在将4转化为004Result := 
    Copy(query1.FieldByName(NUMBER).AsString,1,Pos('-',query1.FieldByName(NUMBER).AsString))+s