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 10-09-2007
Shikanda Shikanda is offline
Miembro
 
Registrado: ago 2007
Posts: 36
Poder: 0
Shikanda Va por buen camino
Refrescar tabla al eliminar registro

Hola de nuevo.

La duda de hoy es la siguiente. Tengo un tableset que recoge los registros de una tabla. A esa tabla le quiero añadir, modificar y eliminar registros. El problema es que puedo añadir y modificar sin problema, pero cuando quiero eliminar un registro de la tabla no se me refrescan los datos hasta que no cierro y vuelvo a abrir el programa. El código que estoy empleando es el siguiente:

Código Delphi [-]
                Query.Close;
                query.SQL.Clear;
                query.SQL.Add('Update Citas_Empleados set descripcion='+chr(39)+chr(39)+', 
usuario=null, 
nom_usuario='+chr(39)+chr(39)+' 
where usuario='+DMCitasCalendario.QIntervaloUSUARIO.AsString+' and intervalo='+DMCitasCalendario.QIntervaloINTERVALO.AsString);
                query.ExecSQL;
                query.Open;

                DMCitasCalendario.QIntervalo.Close;
                DMCitasCalendario.QIntervalo.Open;

PD: QIntervalo es el tableset

PD2: Graciasssss
Responder Con Cita
  #2  
Antiguo 10-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Código Delphi [-]
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('Update Citas_Empleados set descripcion='+chr(39)+chr(39)+', ...
Query.ExecSQL;
Query.Open;

DMCitasCalendario.QIntervalo.Refresh;
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 10-09-2007
Shikanda Shikanda is offline
Miembro
 
Registrado: ago 2007
Posts: 36
Poder: 0
Shikanda Va por buen camino
Qué va, gluglu, ya lo había intentado pero no funciona. El RefreshSQL está bien y el programa no da fallo ni nada (de hecho, al reiniciar el programa, como dije, ya se ve el registro eliminado) pero necesitaba que se actualizase al momento.

Alguna otra idea, tu que siempre encuentras solución a todo??
Responder Con Cita
  #4  
Antiguo 10-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Entonces tendrá que ver con las transacciones.

Si 'Query' y 'QIntervalo' tienen la misma transacción no debería haber problema. Como lo hay, supongo que no tendrán la misma transacción.

Supongo que ambas transacciones tendrán el 'nivel de aislamiento' puesto a Read Commited. Si no es así, pincha dos veces con el ratón encima del elemento de transacción que utilizes en cada caso, y lo pones a 'Read Commited' (si necesitas más información al respecto de este tema, te aconsejo consultes la ayuda del foro ya que se ha discutido innumerables veces).

Una vez asegurado esto, lo que te falta es hacer un Commit (o CommitRetaining, según te interese) de 'Query' ya que no estás indicando en ningún sitio que 'grabe' la modificación en ese momento.

Código Delphi [-]
Query.Close;  // Esto sobre también ya que el Clear cierra automáticamente el Query
Query.SQL.Clear;
Query.SQL.Add('Update Citas_Empleados set descripcion='+chr(39)+chr(39)+', ...
Query.ExecSQL;
Query.Open; // Esto sobra !!
TransactiondeQuery.Commit;

DMCitasCalendario.QIntervalo.Refresh;

Si por el contrario, utilizas la misma transacción debe de funcionarte sin el commit.

Ya contarás si tienes más problemas al respecto.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #5  
Antiguo 10-09-2007
Shikanda Shikanda is offline
Miembro
 
Registrado: ago 2007
Posts: 36
Poder: 0
Shikanda Va por buen camino
Era justo lo que me decías de las transacciones. Esto de aprender a programar al tuntun es lo que tiene. Ya tengo algo más que estudiar: las transacciones!

Muchas gracias por tu siempre imprescindible ayuda
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
Eliminar registro de un .mdb con ADO ¥0n1 Conexión con bases de datos 2 07-11-2007 11:29:12
FIBPlus: Refrescar un solo registro El_Raso Conexión con bases de datos 1 20-08-2007 01:32:43
Refrescar tabla y consulta carlosegs11 SQL 11 08-05-2007 19:40:53
Actualizar o Refrescar una Tabla Caral Tablas planas 2 20-02-2007 20:12:17
Eliminar registro de Windows verm83 Varios 1 11-04-2004 22:27:39


La franja horaria es GMT +2. Ahora son las 20:05:58.


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