Si tienes una tabla con un campo CODIGO que quieras tenerlo numerado y no repetido entonces crea ese campo como índice y único, y si es posible también como clave principal de la tabla
Código SQL
[-]
create table tutabla (
codigo integer not null,
nombre varchar(64),
telefono varchar(9),
primary key (codigo) )
Si no te importa tener números "en blanco" entonces puedes usar un generador, en caso contrario tendrás que controlar tú mismo el número cada vez que se va a crear un registro.
Código Delphi
[-]
while true do
begin
q1.close;
q1.selectsql.text := 'select max(codigo)+1 from tutabla';
q1.open;
iNumero := q1.fields[0].asinteger;
tudataset.fieldbyname('CODIGO').asinteger = iNumero;
try
tudataset.post;
break;
except
end;
end;
Más o menos es así, lo he escrito de memoria y depende de tus componentes, dataset, etc.