Hola.
Si la columna CODIGO es primary key, no puede estar duplicada. Lo que se puede hacer es, mostrarle un mensaje al usuario que ese código ya está en uso y solicitarle otro o generarle uno automáticamente.
En cuanto al procedimiento que inserta un nuevo registro lo modificaría un poco:
Código Delphi
[-]
procedure TForm1.Insertar_Registro_Tabla_1(NTabla:String; cod1:cardinal; nom:string; Sender: TObject);
begin
If MOD.Conexion.Connected = False Then
MOD.Conexion.Connected:=True;
MOD.Tabla1.TableName := NTabla;
MOD.Tabla1.Active := True;
MOD.MyCommand1.SQL.Clear;
MOD.MyCommand1.sql.Add('INSERT INTO ' + NTabla+
'(CODIGO,NOMBRE) VALUES(:Codigo,:Nombre)');
MOD.MyCommand1.ParamByName('CODIGO').Value := cod1;
MOD.MyCommand1.ParamByName('NOMBRE').Value := nom;
try MOD.MyCommand1.Execute; Inc(FCount); MOD.Tabla1.Refresh; except on E: Exception do Application.ShowException(E); end;
end;
En este ejemplo y en el caso de existir una clave duplicada, se le avisa al usuario con un mensaje de error.
Saludos
