procedure AutoID(ds:TDataSource);
var i,tmpInt:integer;
begin
ds.DataSet.First;
if ds.DataSet.IsEmpty then
begin
ds.DataSet.Append;
( 'bh ').asstring= ' ' then
ds.DataSet.FieldByName( 'bh ').asstring:= '1 ' ;
end;
for i:=1 to ds.DataSet.RecordCount do
begin
tmpInt:=ds.DataSet.fieldbyname( 'bh ').asinteger; {保存当前的记录号 a}
ds.DataSet.Next; //指向下一条记录 b
if ds.DataSet.FieldByName( 'bh ').asinteger <> tmpInt+1 then //若b+1 <> a
begin
if ds.DataSet.Eof then
add_0p_data(ds) //这是一个添加一条空记录的自定义函数
else ds.DataSet.Insert;
ds.DataSet.FieldByName( 'bh ').asinteger:=tmpInt+1;
break;
end;
end;
end;