Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Como comenta Casimiro, el campo código debe ser una llave única para que el mismo motor de datos asegure que no haya duplicados. Ahora bien, una vez salvado este paso tienes dos opciones: una, la que comenta Caral, en la que verificas de antemano que el código exista. Otra, es dejarlo en manos del motor, esperando a que éste genere un error al intentar insertar un código duplicado. En este camino, tienes que manejar el evento OnPostError del DataSet si quieres hacer un manejo especial del error (por ejemplo, mandar un mensaje personalizado o permitir que reintente la inserción cambiando el código).

// Saludos
Responder Con Cita
  #2  
Antiguo 09-06-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Creo que la mejor opción es en el evento al salir "on Exit", del control que no va admitir claves duplicadas darle un mensaje al usuario, de lo contrario nos podemos encontrar una pantalla con 30 campos y después de cumplimentar los 30 resulta que nos dice que ese "cliente" ya existe.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 09-06-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
discúlpame maese Marcos, pero la mejor opción sin lugar a duda, es crear la llave primaria en la base de datos, o de perdido un índice único, tal y como mencionan casimiro y Roman.
__________________

Responder Con Cita
  #4  
Antiguo 09-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que Marcos es consciente de eso. Él se refiere simplemente al momento de hacer la validación: antes o después de rellenar los campos.

// Saludos
Responder Con Cita
  #5  
Antiguo 09-06-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Contra, efectivamente es como dice Román, la Tabla tiene que tener siempre su clave primaria que evite repeticiones, lo que yo comento es para evitar que el usario despues de cumplimentar 20 cuadros de texto se encuentre con que el cliente.. ya existía.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 09-06-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo mas simple y mas adecuado es dejar ese tipo de restricciones al motor y uno tomarlas en delphi para actuar en consecuencia, un mal diseño de una BD te va a llevar a un mal seguimiento en tu programa.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 10-06-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
Lo mas simple y mas adecuado es dejar ese tipo de restricciones al motor y uno tomarlas en delphi para actuar en consecuencia, un mal diseño de una BD te va a llevar a un mal seguimiento en tu programa.
Me parece, estimado Azid, que ese punto ya está aclarado

Cita:
Empezado por Casimiro Notevi Ver Mensaje
deberás indicar en la base de datos que el campo "referencia" o "código" (el que necesites) sea clave de esa tabla, así no permitirá datos repetidos.
Cita:
Empezado por roman Ver Mensaje
el campo código debe ser una llave única para que el mismo motor de datos asegure que no haya duplicados.
Cita:
Empezado por ContraVeneno Ver Mensaje
la mejor opción sin lugar a duda, es crear la llave primaria en la base de datos, o de perdido un índice único
Cita:
Empezado por marcoszorrilla Ver Mensaje
la Tabla tiene que tener siempre su clave primaria que evite repeticiones
// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como integro un scrip de delphi php a un web existente JULIPO PHP 10 20-05-2010 21:47:37
Como realizar una conexion a una BD existente Broca_Lic Conexión con bases de datos 5 24-11-2009 00:34:38
como puedo hacer un select de una tabla e introducirlo en otra existente lynu SQL 5 24-08-2006 20:49:26
Formulario existente Esau Varios 4 18-02-2005 21:34:18
enmascarar un tedit cuando se ingrese La clave de acceso andresenlared Varios 4 08-01-2004 17:45:27


La franja horaria es GMT +2. Ahora son las 16:12:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi