![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
en la última sentencia obliga a que cuando se setee un valor a idetapa en la tabla Tabla1, este valor exista en la tabla Etapas (campo id) se podrían según el caso y las necesidades aplicar variaciones, como por ejemplo que cuando se borre un registro de Etapas, borre todos los registros de Tabla1 donde el IdEtapa corresponde a Id de la tabla Etapas. Esto se denomina borrado en cascada. También se puede definir una actualización en cascada También a través de dominios puede implementarse algún tipo de validación y mantención de la integridad de los datos. Por ejemplo:
Saludos TJose |
|
#2
|
|||
|
|||
|
Agradeciendo tu colaboración
No hay otra forma mas entendible para realizar esta operación, se me hace complicado hacer un tabla diferente para esta necesidad como se podria realizar de unas forma más sencilla |
|
#3
|
|||
|
|||
|
para el campo NIT
veo que lo has definido como clave primaria ya con esto no se podrán repetir (por estar definido como primary key) También puedes hacer que no se repitan valores en campos que no son clave primaria con la sentecia siguiente
En este caso no podrán ingresarse registros donde el campo Etapa se repita. Saludos TJose |
|
#4
|
|||
|
|||
|
agradeciendo de nuevo la colaboración al problema
hola compañeros
De nuevo gracias por su colaboración. Bueno, queremos que cuando un nuevo NIT ingrese al sistema, primero verifique si se encuentra en la base de datos; si no se encuentra se introducen todos los datos, pero si se encuentra, debemos hacer llegar los datos a la pantalla bien sea para su actualización ó la eliminación. agradeciendo de antemano la atención prestada ![]() |
|
#5
|
||||
|
||||
|
Creeme que la que te comentaron es la manera correcta, (indice unico).
Debes manejar la excepción de clave duplicada. Para lograr lo que quieres puedes hacer lo siguiente: 1 lees el NIT 2 Inicias una transacción (StartTransaction). 3 insertas el NIT (INSERT INTO TABLA (NIT) AS (:NIT) 4 Ejecutas el SQL 5 Si hay error = NIT (Repetido ó invalido) Aqui puedes leer los datos para modificar ó eliminar. 6 Haces un RollBack sobre la transacción (2) (desaparece la inserción y continuas) 7 pides los demás datos 8 Guardas todo (ahora sí commit).
__________________
Sitrico Última edición por sitrico fecha: 23-07-2007 a las 17:27:06. |
|
#6
|
|||
|
|||
|
ok asi me lo omaginaba, lo haremos y te comentare por este medio que problemas se presentaron
agradeciendo de antemano la atención prestada |
|
#7
|
||||
|
||||
|
Resp
Tu peo no es de base de datos si no de aplicacion.
Lo que quieres es si existe el nit que lo muestre si no que lo inserte. haces un select sobre la tabla donde el edit.text sea igual al nit. Si encuentras una considencia la muentra si no ya estas insertando cuando edites cualquie campo dentro d el abase de datos. Este trabajo s eme hace mas facil ya que uso ibo y los dbedit tiene un campo uq ese llama para el cual puedo usar dentro del sql y el se encarga de pasarlo automaticamente.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Manejando manejadores... | Berto2003 | Varios | 5 | 06-03-2007 10:38:40 |
| Manejando la tabla ASCII en C | aeff | C++ Builder | 4 | 22-01-2007 18:02:47 |
| Problema manejando excepciones | David | OOP | 1 | 28-07-2006 19:17:48 |
| problema manejando datos =( | CI>140 | Conexión con bases de datos | 4 | 22-09-2003 09:56:16 |
| problemas manejando campos | CI>140 | Conexión con bases de datos | 1 | 20-09-2003 15:59:40 |
|