FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error de Integridad Referencial
Buenas Noches amigos
Tengo un Formulario para el Mantenimiento de las Cuentas Contables en el cual tengo un Boton para Borrar y un componente TTable llamado TCuentas el cual contiene un campo que es clave foranea en la tabla Movimiento_Contabilidad mi problema es que Cuando intento borrar un registro de la tabla TCuentas y Tiene registros relacionados en la tabla Movimiento_Contabilidad me devuelve error que saca de la aplicacion. Me gustaria saber como puedo presentarle un mensaje al usuario por Ejemplo 'No se puede Borrar la Cuenta porque ya Tiene Movimientos registrados' y que el usuario pueda pulsar aceptar el mensaje y seguir normal en la Aplicacion. Muchas Gracias de Antemano por su Valioso Tiempo |
#2
|
|||
|
|||
Error de Integridad Referencial
Buenas Noches amigos
Tengo un Formulario para el Mantenimiento de las Cuentas Contables en el cual tengo un Boton para Borrar y un componente TTable llamado TCuentas el cual contiene un campo que es clave foranea en la tabla Movimiento_Contabilidad mi problema es que Cuando intento borrar un registro de la tabla TCuentas y Tiene registros relacionados en la tabla Movimiento_Contabilidad me devuelve error que saca de la aplicacion. Me gustaria saber como puedo presentarle un mensaje al usuario por Ejemplo 'No se puede Borrar la Cuenta porque ya Tiene Movimientos registrados' y que el usuario pueda pulsar aceptar el mensaje y seguir normal en la Aplicacion. Nota: Utilizo una Base de datos en MS Sql Server Express 2008. Muchas Gracias de Antemano por su Valioso Tiempo |
#3
|
||||
|
||||
Hola
Lo que tienes que hacer es hacer un sql con los datos de la cuenta y el cliente a la tabla relacionada antes que tratar de borrar. Si contiene datos simplemente muestra un mensaje. Saludos
__________________
Siempre Novato |
#4
|
|||
|
|||
Caral Tengo una duda con lo que me planteas, Como puedo especificarle a la Sql cual es la Cuenta que quiero borrar y al mismo tiempo validar si existe en la Tabla Movimiento_Contabilidad.
Los campos de mis tablas son los Siquientes: TCuentas Nombre de Campo Tipo de Datos Id Autonumeracion No Numero Clave Primaria Descripcion Varchar2 TMovimieno_Contabilidad Id Autonumerico No Numero Clave Foranea que viene de la tabla Tcuentas entre otros campo Muchas Gracias por Tu Ayuda... |
#5
|
||||
|
||||
Hola
Segun indicas la tabla TMovimieno_Contabilidad contiene datos relacionados con la tabla TCuentas. Bien: Imaginemos que el dato relacionado es No Numero Colocas un TQuery en el form y colocas algo asi: Tienes un dato que esta en tu tabla adquirido por el TTable que colocaste. Me imagino que esta activa. Donde TUDato es el dato sacado de la tabla. Lo que harias es sencillamente sacar ese parametro de la sentencia y compararlo con el dato que genera, si coinciden entonces existe, si no, se podra borrar. Esto por supuesto tendras que hacerlo con un TQuery y haciendo un begin, end, else ya que si no existe el else sera ejecutado. Espero que me entiendas mejor. Saludos
__________________
Siempre Novato |
#6
|
|||
|
|||
Disculpa la Insistencia caral pero es que estoy comensando a programar y elegido delphi y soy muy novato en esto, ya tengo un componente TQuery en mi form y en la Propiedad Sql tengo lo siquiente: Select * from Movimiento_Contabilidad where No = :TuDato
Pero de ahí en adelante me perdi no se que mas hacer para hechar a andar este código. Gracias por todo de corazón... |
#7
|
||||
|
||||
En vez de intentar borrar, haz una búsqueda con un consulta SQL por ejemplo para ver si existen movimientos en caso de que te devuelva registros >0 entonces muestrás tu mismo el mensaje que desees.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#8
|
||||
|
||||
hondaalberto, no repitas la misma pregunta en varios foros, gracias.
|
#9
|
||||
|
||||
Hola
En cuanto tenga un rato te hago un ejemplo. Saludos
__________________
Siempre Novato |
#10
|
|||
|
|||
Amigo existen varias formas de realizar consultas parametrizadas, aqui algunas:
Cuando en una consulta escribes un parametro debe ir precedido de dos puntos, como lo indico Caral. Forma 1:
Forma 2:
Bueno eso por ahora...Espero te aclare un poco la pelicula Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Integridad Referencial | calogero | MySQL | 1 | 09-04-2009 04:28:50 |
Error de integridad referencial | Palmiro | Conexión con bases de datos | 9 | 20-10-2008 13:34:10 |
Integridad referencial | silviodp | Tablas planas | 0 | 22-08-2006 23:27:05 |
¿ Integridad referencial ? | Turia | MySQL | 1 | 25-01-2006 13:59:33 |
Integridad referencial | jdiazan | Firebird e Interbase | 3 | 07-07-2003 17:27:34 |
|