 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
seth Cmdr

Registrado: 16 Nov 2003Mensajes: 129
|
Publicado: Sab 22 Sep, 2007 8:07 pm Asunto: Duda con Base de Datos. |
|
|
Buenas Tardes.
Estoy trabajando con una Base de Datos de Interbase. archivo *gdb hasta ahora bien pero tengo un problema tengo una tabla llamada pedidos y una columna llamada cabecera, cuando de esta elimino un registro de esta tabla y trato de insertarlo nuevamente este registro que elimine me muetra un error de clave promaria, me dice que el este debe ser unico, cierto pero si ya he eliminado este registro no deberia darme un error al tratar de insertarlo.
solo puedo hacerlo si lo elimino el registro y cierro el programa. pero me toca reiniciar el Computador.
Agradeceria cualqueir ayuda. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 23 Sep, 2007 7:05 am Asunto: |
|
|
Hola Seth, tanto tiempo, para que esto no te suceda cada vez que borres un registro debes aplicar las transacciones y las "Actualizaciones", en la parte donde borras el registro debes contener algo como lo siguiente
| Código: | ::TuTabla->Delete();
::TuTabla->ApplyUpdates();
::TuTabla->Transaction->CommitRetaining(); |
Con esto te aseguras, aplicar las transacciones y grabar los cambios en la base de datos, a veces mucha gente olvida manejar el uso de eventos.
Pongo esto, por que despues de borres un registro, algunas terminales tienen copia de "ese" registro aun en la consulta, (recuerda que se envia un buffer de datos a las terminales cuando hacen una consulta), bien el uso de eventos, dentro del servidor, te sirve para indicar a las otras terminales, que a habido una modificacion, actualizacion o borrado de un registro, generalmente esto puedes manejarlo si generas un pequeño "trigger" disparador, dentro del mismo servidor, que se "dispare" cada vez que en la tabla exista una modificacion, edicion o eliminacion de los registros, dentro del foro existen varios enlaces donde se han tratado.
Te pongo este enlace para que te des una idea, ya que al final viene un ejemplo con imagenes, de como establecer un Trigger despues (After) de que suceda aun que un poco de consulta para la sentencia
'Post_Event', te dará mas referencias.
Saludos. _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|