Foros del Web » Programación para mayores de 30 ;) » .NET »

Validar registros desde c# a SQL Server

Estas en el tema de Validar registros desde c# a SQL Server en el foro de .NET en Foros del Web. Hola foro soy nueva por acá, me gustaría saber ¿Como evito desde c# agregar registros repetidos en mi base de datos?, el proyecto esta realizado ...
  #1 (permalink)  
Antiguo 18/11/2014, 17:54
Avatar de DesaBlum  
Fecha de Ingreso: noviembre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Validar registros desde c# a SQL Server

Hola foro soy nueva por acá, me gustaría saber
¿Como evito desde c# agregar registros repetidos en mi base de datos?, el proyecto esta realizado en MVC, gracias de antemano
  #2 (permalink)  
Antiguo 19/11/2014, 09:58
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
Respuesta: Validar registros desde c# a SQL Server

Buenas compañera,

- Lo primero es que no debería dejarte si las tablas están bien creadas y devolvería un error de registro duplicado y ahí lo podrías controlar con el tipo de excepción.
- Otra forma, es creando un procedimiento de BD que compruebe que la PK no exista ya..
Por ejemplo:
Código:
CREATE PROCEDURE PROC_VALIDAR_PERSONA(@NIF AS VARCHAR(10))
AS
BEGIN
    IF EXISTS(SELECT 1 FROM PERSONAS P WHERE P.NIF = @NIF)
        SELECT 1
    ELSE
        SELECT 0
END
Esta segunda opción suele ser la más correcta bajo mi punto de vista.
Si necesitas alguna otra cosas... Estamos por aquí.


Un saludo!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #3 (permalink)  
Antiguo 19/11/2014, 12:17
 
Fecha de Ingreso: enero-2011
Ubicación: Del otro lado del monitor
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Validar registros desde c# a SQL Server

Como dice Drako es correcto o podrias hacerlo (aunque de forma menos eficiente) mandando una consulta antes de insertar...si te regresa algo, es que el registro ya existe, si no, entonces si lo insertas.

Saludos.

Etiquetas: select, sql-server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.