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)
-   -   Problema con DBText y DBGrid!!! (https://www.clubdelphi.com/foros/showthread.php?t=80363)

Artigas72 21-09-2012 16:00:44

Problema con DBText y DBGrid!!!
 
Hola, antes que nada, Buenos dias...

Me ha sucedido lo siguiente, en una misma ventana tengo distintos DBTexts y un DBGrid,
sucede que cuando hice la consulta para cargar los datos para los DBTexts hace todo bien, una vez que termina los DBTexts arranca con la consulta para el DBGrid, y ahi esta el problema,

Tengo el DBGrid conectado con el DataSource(DS) y el DS esta conectado con el ZQuery, a la vez los DBTexts tambien estan conectados con el DS...

Mi pregunta es: Hay una forma de decir al DBText que "ya esta"? esto es, que no vuelva a consultar...
o la solucion para esto seria utilizar otro DataSource y otro Zquery?

A todos los que lean esto, muchisimas gracias,
Saludos a todos...

Casimiro Noteví 21-09-2012 16:41:20

No somos adivinos :confused:

No has dado ninguna información para poder ayudarte.

ElMug 21-09-2012 16:51:21

Cita:

Empezado por Artigas72 (Mensaje 443824)
Hola, antes que nada, Buenos dias...

Me ha sucedido lo siguiente, en una misma ventana tengo distintos DBTexts y un DBGrid,
sucede que cuando hice la consulta para cargar los datos para los DBTexts hace todo bien, una vez que termina los DBTexts arranca con la consulta para el DBGrid, y ahi esta el problema,

Tengo el DBGrid conectado con el DataSource(DS) y el DS esta conectado con el ZQuery, a la vez los DBTexts tambien estan conectados con el DS...

Mi pregunta es: Hay una forma de decir al DBText que "ya esta"? esto es, que no vuelva a consultar...
o la solucion para esto seria utilizar otro DataSource y otro Zquery?

A todos los que lean esto, muchisimas gracias,
Saludos a todos...

Trata:

Un boton que cambie la propiedad de los DBtextos en cuanto a datasource, y usa la funcion .clear de los memos si quieres que ya no muestren nada.

Si no quieres con boton, lo haces por codigo, al cumplirse la razon por la cual ya no quieres que actuen.

Artigas72 21-09-2012 16:55:12

Perdón...
 
Perdón, estaba haciendo 2 cosas a la vez y crei haber puesto la información...

Por las informaciones del funcionario x utilizo lo siguiente
Código Delphi [-]
dm.ZQuery.Close;
dm.ZQuery.SQL.Clear;
dm.ZQuery.SQL.Add('SELECT * FROM empleados WHERE empleados.ci='+quotedstr(form_Buscar.ci_buscar)+';');
dm.ZQuery.Open;

y cargo la información en los DBText de la siguiente forma:
Código Delphi [-]
lbl_nombreh.DataField:='nom';
lbl_sueldoh.DataField:='sueldo';
lbl_apeh.DataField:='apellidos';
lbl_CI_h.DataField:='ci';
lbl_nbse_h.DataField:='nrobse';
lbl_calleh.DataField:='calle';
lbl_nrodir.DataField:='nrodir';
lbl_Complemento.DataField:='complemento';
lbl_fecha_ing_h.DataField:='Fecha_ingreso';
//utilice lbl en el nombre porque así sabia que era algo similar a los labels

Para consultar con el Zquery por las faltas del funcionario x utilizo lo siguiente:
Código Delphi [-]
dm.ZQuery.Close;
dm.ZQuery.SQL.Clear;
dm.ZQuery.SQL.Add('SELECT * FROM empleados INNER JOIN (faltas INNER JOIN inasistencias ON faltas.codi=inasistencias.codi) ON empleados.ci=faltas.ci WHERE 
empleados.ci='+quotedstr(form_Buscar.ci_buscar)+';');
dm.ZQuery.Open;

La cuestion es que cuando hace la segunda consulta borra los items cargados en los DBTexts, se entiende?
Mi pregunta es si hay una forma de decir al DBText que ya esta cargado o si debo utilizar otro DataSource con otro Zquery para hacer las consultas...

Gracias a todos por adelanto!
^\||/

ecfisa 21-09-2012 17:22:48

Hola Artigas72.
Cita:

La cuestion es que cuando hace la segunda consulta borra los items cargados en los DBTexts, se entiende?
Los DBText que estan conectados al mismo DataSource que el DBGrid, mostraran los datos correspondientes al registro actualmente seleccionado en él.

Si deseas que lo mostrado en los DBText sea diferente al registro actualmente seleccionado en el DBGrid, tendran que estar conectados a DataSources diferentes.

Saludos.:)

Casimiro Noteví 21-09-2012 17:24:40

Aparte de lo comentado por ecfisa y que tiene toda la razón, esta sentencia está mal, ¿no?:
Código Delphi [-]
dm.ZQuery.SQL.Add('SELECT * FROM empleados INNER JOIN (faltas INNER JOIN inasistencias ON faltas.codi=inasistencias.codi) ON empleados.ci=faltas.ci WHERE
  empleados.ci='+quotedstr(form_Buscar.ci_buscar)+';');

Artigas72 21-09-2012 17:34:53

perdón, la original esta:

Código Delphi [-]
dm.zquery.sql.add('SELECT * FROM empleados INNER JOIN (faltas INNER JOIN inasistencias ON faltas.codi=inasistencias.codi) ON empleados.ci=faltas.ci WHERE
 empleados.ci='+quotedstr(form_Buscar.ci)+';);

//Cuando probé la consulta en mi motor SQL anduvo lo más bien... Obviamente que donde esta el quotedstr(Form_Buscar.ci) puse una ci valida.

la cuestion es que copie la consulta por la mitad,
Saludos y muchas gracias, ahora agredo otro DataSource...
Gracias a todos!
:D
#Ahora en un rato pruebo, es que justo ahora voy al almuerzo...
Así que lo pruebe digo como quedó...
Una vez más:

Muchas Gracias a todos!
:D


La franja horaria es GMT +2. Ahora son las 05:17:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi