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)
-   -   Modificación de la BD por medio de Edits!! (https://www.clubdelphi.com/foros/showthread.php?t=79897)

djMadox 20-08-2012 16:54:57

Modificación de la BD por medio de Edits!!
 
Buenas...
Hoy les traigo un par de dudas y consultas acerca de la modificación de una BD...

Estamos creando un sistema de control de personal...
tenemos la pantalla de Nvo. Ingreso de funcionarios, consultas de funcionarios, edición, etc.
El 90% del proyecto es creado de forma dinamica, por lo que elegimos crear un procedimiento para crear objetos,
& otro para destruir...
Pero para no escribir más de mitad del código constructor de vuelta queremos utilizar los mismos controles que usamos para Nvo. Ingreso para modificar los datos de la BD...

La cuestion es: Como puedo cargar los datos de la BD en un EDIT?
Al cargalos, debo cerrar la conexión mientras son modificados los datos?

Estamos utilizando:
Delphi 7
Zeos 6.6.6 stable

Muchisimas gracias a todos por adelanto!

roman 20-08-2012 18:05:00

Puedes leer los datos directamente del dataset que estés usando con el método FieldBayName y copiarlos a tus Edit. También puedes usar DBEdits y conctarlos a tu dataset mediante un datasource. No hay necesidad de cerrar la base mientras modifics los datos.

// Saludos

djMadox 20-08-2012 18:08:19

esto es:
 
Tendria que poner:
Código Delphi [-]
edit1.text:=dataset1.fieldbyname[nombre]
o algo por el estilo?!
Voy a probarlo y pongo el resultado...
Gracias una vez más!

djMadox 20-08-2012 18:21:00

Gracias,
 
Lo he podido resolver...
me quedo así:
Código Delphi [-]
edt_nombre.Text:=dm.ZQuery.Fields[2].DisplayText;

el numero 2 seria la columna de la tabla, sabiendo que empieza en columna 0....

Muchisimas gracias, saludos! :D

roman 20-08-2012 18:32:40

No es la mejor form, sin embargo ;). Al menos en mi experiencia, no es bueno "atarse" a la posición física de las columnas en la tabla, pues eso puede cambiar en el futuro y te obligarías a revisar todo el código donde hagas referencia a esa o ess columnas.

Yo haría algo así:

Código Delphi [-]
edt_nombre.Text:=dm.ZQuery.FieldByName('nombre').AsString;

// Saludos

djMadox 20-08-2012 18:37:12

??
 
Existe un pequeño problema,
Al dar
Código Delphi [-]
Zquery.
No me dá la opción FieldByName...
No sé que pasó, pero esa opción no me dá esa propriedad..
:S
:/:confused:

roman 20-08-2012 18:46:32

Eso se debe a un limitación del autocompletado del IDE de delphi. Si escribes:


Código Delphi [-]
Edit1.Text := ZQuery1.f

en el editor, no te aparece la opción. Sucede con cualquier dataset. Pero la opción sí está, sólo que tinees que escribirla tú mismo.

// Saludos

djMadox 20-08-2012 19:01:07

Ok,
 
Ah, OK...
con razón no me salía nunca la opción, voy arreglar eso para evitar problemas futuros...

Una vez más:
Gracias!
:D


La franja horaria es GMT +2. Ahora son las 17:54:48.

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