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)
-   -   introducir los datos de un spinedit en una tabla (https://www.clubdelphi.com/foros/showthread.php?t=83278)

edufg 29-05-2013 23:20:29

introducir los datos de un spinedit en una tabla
 
Hola soy nuevo con delphi xe2, estoy realizando un trabajo en el que debo introducir los datos de un spinedit en una tabla y desconozco como debo realizarlo.
El programa consta de un TMAINMENU donde uno de los menús salta una nueva ventana en la que te pide introducir varios datos (mes y año) al introducir los datos y pulsar en el botón de ok debería ejecutar:
1º buscar en la base de datos los registros que corresponden con ese mes y año y rellenar los spinedit.
2º si no se encuentran los spinedit se ponen a 0

He Creado 31 spinedit en los que debo introducir unas temperaturas del dia, también un ttabla y tdatasource y tquery. pero desconozco como asociar los spinedit.

Gracias

Casimiro Noteví 29-05-2013 23:37:30

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

radenf 31-05-2013 00:21:01

Estimado edufg :

¿Estás seguro que el componente SpinEdit es el más adecuado para lo que tú deseas?
Normalmente un SpinEdit se utiliza para seleccionar, incrementar y disminuir valores integer o float, dentro de un rango establecido.
¿Podrías explicar mejor el uso que quieres dar a los SpinEdits?

Saludos

edufg 31-05-2013 13:07:40

- lo primero gracias por contestar.
Si debe ser así ya que se trata de un trabajo de clase, a través de los spinedit debo introducir los valores de las temperaturas diarias del mes, a su vez cuando pulsamos en l a opción del menú recuperar temperaturas del mes recorrerá los spinedit y los mostrara por pantalla.

procedure TVentana.MM_recuperar_datosClick(Sender: TObject);
var ANNO_actual,MES_Actual: integer;
auxStr: String;
begin
{Cuando el usuario hace clic en la opción del menú "Recuperar los datos de otro mes"
debe aparecer una ventana donde selecciona el mes y año que desea consultar
y hace clic en el botón Aceptar. A continuación, el programa debe buscar
en la base de datos los registros que corresponden con ese mes y año
y mostrarlos en la ventana.}

Application.CreateForm (TVSeleccionar,VSeleccionar);
/// con la ventana Seleccionar realizar lo siguiente
with VSeleccionar do
begin
if ShowModal=mrOK then /// cuando pulsamos el boton ok
/// introducimos las etiquetas
L_Temperatura_fecha.Caption:= 'Temperaturas del mes de '+ CB_mes.text +' del año '+SE_ano.text;
Q_Busqueda.Active:=False;/// desactivar query
Q_Busqueda.SQL.Clear; /// borrar query
ANNO_actual:= SE_ano.value;
MES_Actual:= CB_mes.ItemIndex+1;
Q_Busqueda.SQL.Add('SELECT DIA, TEMPE FROM Tempe WHERE MES="'+inttostr(MES_Actual)+'" AND ANNO="'+inttostr(ANNO_actual)+'"');
Memo1.Text:=Q_Busqueda.SQL.Text;
/// introducir datos, seleccionar SELECT los campos dia y tempe de FROM la BD tempe
/// donde mes es igual (MES=) a los datos introducidos en MES_ACTUAL y año es igual (AND ANNO=) datos de CB_mes.text
Q_Busqueda.Active:=True; /// activar query
// Recorremos con un bucle todos los componentes de la ventana.
if not((Q_Busqueda.Bof) and (Q_Busqueda.Eof)) then
while not (Q_Busqueda.Eof) do begin
// que queremos buscar el componente en esta ventana
if Self.FindComponent('SE_'+IntToStr(Q_Busqueda.Fields[0].AsInteger))<>nil then
TSpinEdit(Self.FindComponent('SE_'+IntToStr(Q_Busqueda.Fields[0].AsInteger))).Value:=Q_Busqueda.Fields[1].AsInteger;
Q_Busqueda.Next;
end;
end;
end;

radenf 31-05-2013 13:37:53

Para ingresar datos a una Tabla desde un SpinEdit:

Código Delphi [-]
TuTabla.Edit;
TuTabla.FieldByName('TuCampo').asInteger:= SpinEdit1.Value;
TuTabla.Refresh;

Para recuperar datos desde una Tabla y mostrarlos en un SpinEdit:

Código Delphi [-]
SpinEdit1.Value:=TuTabla.FieldByName('TuCampo').asInteger;

Ojalá te sirva
Saludos
PD: Para la próxima vez que coloques código utiliza los tags de Delphi.

Casimiro Noteví 31-05-2013 14:24:37

Cita:

Empezado por edufg (Mensaje 461561)
-

Tal y como dice radenf:

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

edufg 31-05-2013 15:10:49

OK, voy a realizar lo que me dices a ver que tal.

Gracias

edufg 06-06-2013 22:53:04

He podido realizar el trabajo he realizado el trabajo gracias por vuestra ayuda. para recoger los datos de los 31 Spinedit mediante un bucle:
Código Delphi [-]
 if not((Q_Busqueda.Bof) and (Q_Busqueda.Eof)) then 
       while not (Q_Busqueda.Eof) do begin
            if Self.FindComponent('SE_'+IntToStr(Q_Busqueda.Fields[0].AsInteger))<>nil then
            TSpinEdit(Self.FindComponent('SE_'+IntToStr(Q_Busqueda.Fields[0].AsInteger))).Value:=Q_Busqueda.Fields[1].AsInteger;
            Q_Busqueda.Next;
gracias.


La franja horaria es GMT +2. Ahora son las 22:13:26.

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