Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   conectar ibquery's con dbgrid's (https://www.clubdelphi.com/foros/showthread.php?t=70039)

naty_prog 27-09-2010 02:12:26

conectar ibquery's con dbgrid's
 
tengo 4 dbgrid para una consulta sobre los datos de una tabla(ibdataset).cada dbgrid debe reflejar los registros de dicha tabla de acuerdo con distintas condiciones.para ello, nos obligan a usar 4 ibquery con sus datasource para poder mostrar los registros en las grillas correpondientes.agregando un registro manualmente en la base de datos (sql), el registro tendria que aparecer en una de las grillas, pero al ejecutar el sistema hace completamente al reves, muestra el registro en las 3 grillas que no corresponden, y en la grilla donde deberia aparecer esta en blanco.supongo que seria un problema de conexiones entre los componentes, pero existe codigo para resolver el problema,como seria?
desde ya muchas gracias si entendieron y pueden resolver mi problema.
saludos

Casimiro Notevi 27-09-2010 11:05:04

Hola naty_prog, bienvenido a clubdelphi, te aconsejo leas nuestra guía de estilo para poder ayudarte mejor, muchas gracias.

Neftali [Germán.Estévez] 27-09-2010 11:13:27

Cita:

Empezado por naty_prog (Mensaje 377577)
supongo que seria un problema de conexiones entre los componentes,

Pues por lo que explicas seguramente sí es problemas de cómo tienes conectados los componentes.


Cita:

Empezado por naty_prog (Mensaje 377577)
pero existe codigo para resolver el problema,como seria?

No se si existe código, pero sería un error buscarlo.
No tiene sentido.
Si tienes mal las conexiones, el problema se solucionan arreglando las conexiones, no metiendo código "raro" que lo solvente.:confused::confused::confused:

marcoszorrilla 27-09-2010 12:17:19

Mis compañeros ya te han explicado posibles fallos, yo te pregunto,¿Haces un commit o commitRetaining despues de grabar los datos?

Un Saludo.

naty_prog 27-09-2010 17:31:22

agradecimientos
 
gracias a las personas que me ayudaron a resolver posiblemente el problema.debido al poco tiempo que tengo para dedicarle a la tesis,en la semana les estare confirmando si he resuelto el drama.
otra vez, muchas gracias a todos

naty_prog 29-09-2010 03:09:54

problema con dbgrid y sql
 
Hola nuevamente, les comentamos que el problema no viene exactamente de las conexiones, ya que hemos revisado cada una y están correctas. Creemos que es algo referido a sql o parte del código ejecutable.
A continuación, le damos la lista de los componentes que usamos:
Código Delphi [-]
IBDataset_correlativas:para conectar con la tabla correlatividad por medio de un ibdatabase_sistema.
DataSource_Correlativas: conecta con el ibdataset_correlativas.
DataSource_cCorrelativas_regular_rendir: para conectar con el IBQuery_Correlativas_regular_rendir.
DataSource_Ccorrelativas_regular_cursar: conecta con IBQuery_Correlativas_Regular_cursar.
DataSource_Ccorrelativas_aprobada_rendir: conecta con IBQuery_Correlativas_Aprobada_rendir.
DataSource_Ccorrelativas_aprobada_cursar: conecta con IBQuery_Correlativas_Aprobada_Cursar.
En el formulario_correlativas, en el evento OnShow, tenemos que mostrar las correlatividades que tiene una materia seleccionada previamente. La idea es mostrar los registros de las correlatividades en 4 grillas:
DBGrid_cursar_regular
DBGrid_rendir_regular
DBGrid_cursar_aprobado
DBGrid_rendir_aprobado
Para ello, utilizamos el siguiente código:
 begin
                   DM.IBQuery_Correlativas_Regular_cursar.SQL.Clear;
                   DM.IBQuery_Correlativas_Regular_cursar.SQL.Add('Select * from correlatividad where id_materia=:mat and TIPO=(CURSAR) and ESTADO_CORRELATIVIDAD=(REGULAR)');
                   dm.IBQuery_Correlativas_Regular_cursar.ParamByName('mat').AsInteger:=dm.IBQuery_materiaID_MATERIA.Va  lue;
                   dm.IBQuery_Correlativas_Regular_cursar.Open;
                   DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Regular_cursarID_CORR.Value,[]);
                 end;

                 begin
                   DM.IBQuery_Correlativas_regular_rendir.SQL.Clear;
                   DM.IBQuery_Correlativas_regular_rendir.SQL.Add('Select * from correlatividad where TIPO=RENDIR and estado_correlatividad=REGULAR');
                   dm.IBQuery_Correlativas_regular_rendir.Open;
                   DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_regular_rendirID_CORR.Value,[]);
                 end;

                 begin
                   DM.IBQuery_Correlativas_Aprobada_Cursar.SQL.Clear;
                   DM.IBQuery_Correlativas_Aprobada_Cursar.SQL.Add('Select * from correlatividad where TIPO=CURSAR and estado_correlatividad=APROBADA');
                   dm.IBQuery_Correlativas_Aprobada_Cursar.Open;
                   DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Aprobada_CursarID_CORR.Value,[]);
                end;

                begin
                  DM.IBQuery_Correlativas_Aprobada_rendir.SQL.Clear;
                  DM.IBQuery_Correlativas_Aprobada_rendir.SQL.Add('Select * from correlatividad where TIPO=RENDIR and estado_correlatividad=APROBADA');
                  dm.IBQuery_Correlativas_Aprobada_rendir.Open;
                  DM.IBDataSet_Correlativas.Locate('id_CORR',DM.IBQuery_Correlativas_Aprobada_rendirID_CORR.Value,[]);
                end;
Esperamos que puedan entender cuál es la situación, y desde ya lesdamos las gracias.
Saludos a todos.

Caral 29-09-2010 03:19:31

Hola
IBDatabase, conectado a la BD
IBTransaction, conectado a IBDatabase
IBQuery, Conectado a IBDatabase.
Datasource, conectado a IBQuery
DBGrid, conectado a Datasource.
Saludos

Caral 29-09-2010 03:30:25

Hola
Código Delphi [-]
begin
DM.IBQuery_Correlativas_Regular_cursar.SQL.Text:= 'Select * from correlatividad where id_materia= :mat '+
                                                 ' and TIPO = ''CURSAR'' and ESTADO_CORRELATIVIDAD = ''REGULAR'' ';
dm.IBQuery_Correlativas_Regular_cursar.ParamByName('mat').AsInteger:= dm.IBQuery_materiaID_MATERIA.Value;
dm.IBQuery_Correlativas_Regular_cursar.Open;
end;
No entiendo nada.
Saludos


La franja horaria es GMT +2. Ahora son las 05:39:29.

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