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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-05-2005
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Poder: 21
Fita Va por buen camino
No se refrescan las DBGrid ???

Hola a todos...

Tengo dos DBgrid enlazadas a dos IBDatasets.
La DBGrid1 muestra los datos del IBDataset1 cuya sql es:

Select * from alu000 where estado = 'A'

La DBGrid2 muestra los datos del IBDataset2 cuya sql es:

Select * from alu000 where estado = 'B'

La idea es que al hacer dobleclick en una de las DBGrid cambie el valor del campo "estado" a su valor opuesto, es decir si es 'A' pasa a 'B' y viceversa. Con esto deberían cambiar las dos DBGrid. Suponiendo la existencia de un solo registro, éste debería pasar de una DBgrid a otra... bueno; lo que sucede es que desaparece de una pero no aparece en la otra.

Para ello la Sql que se ejecuta al hacer doble click en la DBGrid1 es:

// como es estado = 'A' lo pasa a estado = 'B'
IBDataset1.selctsql.close;
IBDataeet1.selectsql.clear;
IBDataset1.selectsql.add('update alu000 set estado = :estado');
IBDataset1.parambyname('estado').asString := 'B';
IBDataset1.ExecSql;
IBTransaction1.Commit;

Sel_Alu_A; // procedure que contiene la sql que selecciona estado = 'A'
Sel_Alu_B; // procedure que contiene la sql que selecciona estado = 'B'

---------------------------------------------------------------------

Para la DBGrid2 al hacer doble click

// (muestra estado = 'B' ) lo pasa a estado = 'A'

IBDataset2.selctsql.close;
IBDataeet2.selectsql.clear;
IBDataset2.selectsql.add('update alu000 set estado = :estado');
IBDataset2.parambyname('estado').asString := 'A';
IBDataset2.ExecSql;
IBTransaction2.Commit;

Sel_Alu_A; // procedure que contiene la sql que selecciona estado = 'A'
Sel_Alu_B; // procedure que contiene la sql que selecciona estado = 'B'

// Cuando abro el form se ejecutan las sql
Procedure Form.Create;
begin
Sel_alu_A;
Sel_Alu_B;

end;

Ya he probado con el DBGrid.Refresh y otras cosas... sólo funciona cuando cierro el formulario y lo habro nuevamente; lo que significa que algo estoy pasando por alto y no sé que es...

Alguna idea ???

Gracias por adelantado
Fita
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 08:16:59.


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