Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   No puedo Escribir en un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=64164)

JULIPO 20-03-2009 00:49:40

No puedo Escribir en un dbgrid
 
Reciban un cordial saludo.

TEngo una base de datos en Mysql Dephi 2007 utilizo zeos, el problema es el siguiente tengo un db grid conectado a una zquery el me muestra los datos relacionados con la tabla sin problema, pero necesito colocar un dato que no pertenece a la tabla, es una variable informativa no la quiero almacenar simplemente mostrarla pero no se como hacerlo.

He revisado el foro y aparecen varias preguntas similares pero no funcionan las respuesta.

Espero me puedan ayudar.

Julipo

Neftali [Germán.Estévez] 20-03-2009 09:54:37

Cita:

Empezado por JULIPO (Mensaje 342054)
...pero necesito colocar un dato que no pertenece a la tabla, es una variable informativa no la quiero almacenar simplemente mostrarla pero no se como hacerlo.

¿Pero si no está relacionada con la tabla de dónde sale? ¿Qué deseas mostrar en los registros? ¿Todos con el mismo dato? ¿Hay alguna relación?

Tal vez puedeas probar creando campos calculados en el Dataset asociado al DBGrid, pero no me queda claro qué deseas mostrar para cada registro de la consulta.

JULIPO 20-03-2009 21:57:59

No tiene importancia de donde sale el dato
 
El dato es una variable que me indica que cantidad de datos tiene una lectora biometrica es un dato que no pertenece a la tabla ni quiero que se almacene en la tabla, simplemente mostrarlo es eso posible

rgstuamigo 21-03-2009 15:01:20

Cita:

...simplemente mostrarlo es eso posible
Y por que no utilizas un Edit o algun otro control? :confused: o tiene ser en la tabla?
Medio que no te entiendo lo que pretendes hacer...:rolleyes:.
Saludos....:)

JULIPO 30-03-2009 21:43:06

El dato que se escribe no lo puedo almacenar en un Edit
 
La tabla contiene el nombre de la lectora, la direccion ip, y la configuracion basica, con esta informacion creamos la conexion a cada lectora,cuando nos conectamos la lectora nos indica un numero que corresponde a los registros que ella tiene almacenados o que recopilo cuando no estaba en linea con el pc, esa informacion es la que quiero colocar en el dbgrid sin que pertenezca a la tabla por que inmediatamente se hace una descarga y ese numero debe llegar a ser 0 hay un numero por cada lectora si la ingreso en un edit o un label tengo que colocar tantos controles como lectoras tenga el sistema lo que lo hace nada practico. igual la idea es que el dato se coloque sin importar de donde salio aclaro nuevamente no pertenece a la tabla y no es practico almacenarlo en la tabla.

rgstuamigo 31-03-2009 21:54:06

Cita:

...hay un numero por cada lectora si la ingreso en un edit o un label tengo que colocar tantos controles como lectoras tenga el sistema lo que lo hace nada practico. igual la idea es que el dato se coloque sin importar de donde salio aclaro nuevamente no pertenece a la tabla y no es practico almacenarlo en la tabla.
Pero acaso es necesario almacenar o visualizar todos los numero de cada lectora al mismo tiempo?:confused:Lo que yo haria seria que utilizara el evento AfterScroll del ZQuery y pondria en un edit o label lo siguiente:
Código Delphi [-]
Edit1.Text:=IntToStr(Numero_de_lectora);//Esto en el evento AfterScroll del ZQuery
Numero_de_lectora seria el numero de lectora que esta actualmente selecionado o que esta apuntando la flechita de el DBGrid que muestra los datos o talves necesites hacer algun calculo quisas de acuerdo a algun Field que es Primary Key de tu tabla.Osea que cuando el usuario va navegando se va mostrar en el edit el numero de lectora que corresponde al actual registro seleccionado en el DbGrid. Espero que captes la idea.;)
Saludos....:cool:

JULIPO 31-03-2009 22:23:57

la facilidad no es la respuesta correcta
 
no busco la respuesta mas facil busco una solucion a mi problema, por que ademas de todo todas las lectoras tienen informacion, si hago lo que dices solo veo la informacion de una unica lectora eso es una salida facil y creeme que no es la idea, la idea es mostrar la informacion de todas las lectoras al tiempo ahora si no hay forma de escribir una variable en una columna del DBgrid buscar otro componente pero no colocar la informacion en un edit.

De todos modos gracias por tu respuesta.

Julipo

rgstuamigo 31-03-2009 22:36:04

Cita:

Empezado por JULIPO (Mensaje 343377)
no busco la respuesta mas facil busco una solucion a mi problema, por que ademas de todo todas las lectoras tienen informacion, si hago lo que dices solo veo la informacion de una unica lectora eso es una salida facil y creeme que no es la idea, la idea es mostrar la informacion de todas las lectoras al tiempo ahora si no hay forma de escribir una variable en una columna del DBgrid buscar otro componente pero no colocar la informacion en un edit.

De todos modos gracias por tu respuesta.

Julipo

Bueno entonces utiliza un StringGrid y ahi copias los datos tu DBGrid con algun procedimiento, adicionandole una columna mas para lo que nesecitas..;)
Saludos....:cool:

rgstuamigo 06-04-2009 21:27:08

Tambien en este hilo se ha tratado algo parecido a lo que estas buscando,y parece que la solucion anda por agregar los Campos(Field) manualmente y aumentar los campos que quieras,checkealo.;)

roman 06-04-2009 23:36:19

Si cada registro corresponde a una lectora y debes colocar un dato por cada lectora en una columna extra, entonces agrega un campo calculado tal como te indico Neftalí desde un principio. En el evento OnCalcFields del dataset te conectarías a la lectora para obtener el número que quieres y es lo que aparecería en el DBGrid.

Ahora bien, ese evento se ejecuta cada vez que el DBGrid deba poner un valor, lo cual puede ocurrir muchas veces, quizá demasiadas si la consulta del dato lleva tiempo. No sé cuántas lectoras tengas, pero si no son muchas, podrías tener un arreglo en memoria con para almacenar los datosde cada lectora. En el evento OnCalcFields te fijas si el dato correspondiente a la lectora del registro actual ya está en el arreglo. Si no está lo consultas, y si ya está, tomas directamente el dato del arreglo.

// Saludos


La franja horaria es GMT +2. Ahora son las 06:16:51.

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