你的数据库类型是什么?
如果是sql的话,将bh域的标识设为'是'.标识递增量设为1
运行时就会自动+1

解决方案 »

  1.   

    access数据库也可以指定为标识的,将BH设为INT类型
      

  2.   

    var
     a1,a2:string;
    begin
      adoquery1.Close;
      adoquery1.SQL.clear;
      adoquery1.SQL.Add('select * from ts where dh=ooooo1');
      adoquery1.Open;
      if adoquery1.RecordCount>1 then
      begin
      adotable1.Close;
      adotable1.Open;
      adotable1.Last;
      a1:=adotable1.fieldbyname('dh').AsString;
      a2:=floattostr(strtoint(a1)+1);
      dbe_bh.Text:=a2;
      dbe_bh.Text:='';
        dbe_nc.Text:='';
          dbe_zz.Text:='';
            dbe_cbs.Text:='';
              dbe_jg.Text:='';
                dbe_ys.Text:='';
                  dbe_kc.Text:='';
                    dbe_fl.Text:='';
                    dbe_bh.SetFocus();
                    end
                    else
                    dbe_bh.Text:='000001';
    end;
    这样写有什么错误吗?!
      

  3.   

    给你一个方法,你看一看:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Mask, DBCtrls, Db, Grids, DBGrids, ADODB;type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        ADOTable1: TADOTable;
        DBGrid1: TDBGrid;
        DataSource1: TDataSource;
        DBEdit1: TDBEdit;
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        //定义替换函数;    
        function MyReplace(reStr:String;Slen:integer):String;
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}
    function Tform1.MyReplace(reStr:String;Slen:integer):String;
    var
      i:integer;
      s:String;
    begin
       s:='';
       for i:=1 to Slen do
          S:=S+reStr;
       MyReplace:=s;   
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    var
      stemp:String;
    begin
      if not ADOTable1.Active then
         ADOTable1.Active:=True;
      ADOTable1.Last;
      if ADOTable1.FieldByName('bh').asString='' then
         DBEdit1.Text:=MyReplace('0',6)+'1'
      else
         DBedit1.Text:=ADOTable1.FieldByName('bh').asString;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
       stemp:string;
    begin
       ADOTable1.Last;
       if ADOTable1.FieldByName('bh').asString='' then
         DBEdit1.Text:=MyReplace('0',6)+'1'
       else
         begin
           stemp:=IntToStr(Trunc(StrToInt(DBEdit1.text)+1));
           DBEdit1.Text:=MyReplace('0',7-length(stemp))+stemp;
         end;
       
       ADOTable1.Append;
       ADOTable1.FieldByName('bh').asString:=DBEdit1.Text;
       ADOTAble1.Post;end;end.
    //  DBEdit1.DataSource的属性必须为空
      

  4.   

    function Get_My_Str(var Old_String:string):string;
    function TFrm_Main.Get_My_Str(var Old_String:string):string;
    var
       tmp_ID:string; //之后新增的ID号
       tmp_str:string;//临时的ID号
       tmp_int:integer;
       i:integer;
    begin
    tmp_ID:='0000000'; //得到要写入库中的数据格式
    tmp_str:=Floattostr(strtofloat(Old_String)+1);
    tmp_int:=length(tmp_str);
    For i:=0 to tmp_int-1 do
    begin
    tmp_ID[7-i]:=tmp_str[tmp_int-i];
    end;
    Get_My_Str:=tmp_ID;
    end;