Cita:
Iniciado por rj69
creo que lo mejor seria agregarle un campo a tu tabla cliente, que te sirva como un FLAG, (0 y 1), con el cual indiquies si el usuario esta activo o no, con esto nunca eliminas al usuario, y si quieres saber cuales son tus actuales usuarios, selecionas a todos los que tengan el flag en 1(encendido), y obviamente los que esten en 0 es que ya no existen, pero a los usuarios nunca los elimines, asi siempre podras incrementar un nuevo usuario en (select count(*) from usuario)+1.
Coincido contigo rj69. Yo creo en todas las tablas dos campos a mayores, que son Activo (el que tu llamas FLAG) y Fecha_Activo. De esta forma en vez de eliminar desactivo la fila, y así los datos siguen estando para consultas en el Historico. Respecto al ID, mi consejo hacer busquedas, eliminaciones e inserciones en el datatable por el valor del campo ID y no por el numero de fila del datatable. Porque aun en el caso de no eliminar ninguna fila en la base de datos, si trabajas en entorno multiusuario otro usuario puede agregar una fila y ya tendrías problemas.
El campo Fecha_Activo le incluyo por mantenimiento: si una fila lleva desactivada el mismo tiempo que el que se ha de conservar el histórico, se elimina.