Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2011
rogercito rogercito is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 60
Poder: 13
rogercito Va por buen camino
como seleccionar fila de un dbgrid y que se me guarden los datos en una tabla

hola tengo el siguiente problema:

Yo realizo una consulta con un tquery, esa consulta se me muestra en un dbgrid, yo lo que neceito es seleccionar una fila del dbgrid y que todos los datos de esa fila se me guarden en sus correspondiente campos en la tabla. Se puede hacer esto??
Responder Con Cita
  #2  
Antiguo 04-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Si
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 04-10-2011
rogercito rogercito is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 60
Poder: 13
rogercito Va por buen camino
y como hago eso?
Responder Con Cita
  #4  
Antiguo 04-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ha, ahora si:
Tienes un dbgrid, este MUESTRA los datos de un datasource que a su vez esta ligado a un query, bien....
Donde están los datos ??????.
Quien los Tiene, el dbgrid o el query ????????.
Dime.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 04-10-2011
rogercito rogercito is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 60
Poder: 13
rogercito Va por buen camino
yo soy muy nuevo asi que te digo lo que supongo.

Yo en el dbgrid creo que solamente me muestra los datos de la consulta, pero yo supongo que los datos estan guardados en la consulta, te paso como hice la consulta a ver si sirve de ayuda..

Código Delphi [-]
procedure TForm36.Button1Click(Sender: TObject);
var
 loca:integer;

begin

 with Query1 do
  begin
    DatabaseName:= 'C:\Documents and Settings\Administrador\Escritorio\taf\tablas';  // <- Aqui indicas la nueva ruta a la BD
    loca:=strtoint(edit1.text);
    SQL.Clear;
    SQL.Add('select COD_EMPRE,COD_LOC_FI,HORA_IN,HORA_FIN');
    SQL.Add('from tabla_recorrido.dbf');
    SQL.Add('where COD_LOC_FI=arametro_loca');
    SQL.Add('order by COD_EMPRE');
    ParamByName('parametro_loca').Asinteger:= loca;
    Open;
  end;
end;
Responder Con Cita
  #6  
Antiguo 04-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bien, lo que quiero es que entiendas, no me apetece darte el codigo resuelto por que se que lo puedes hacer tu.
Lo has dicho, el dbgrid muestra lo que esta en el query, cuando recorres el dbgrid, de arriba a abajo y viceversa lo que haces es recorrer lo que se llama dataset, que es lo que esta en el query ni mas ni menos.
Si quieres capturar la información que esta en el query que haces?????.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 04-10-2011
rogercito rogercito is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 60
Poder: 13
rogercito Va por buen camino
yo supongo que tengo que utilizar el datasource pero no se como hacer para que llame a cada codigo en particular. Si me podes orientar un poco lo agradeceria
Responder Con Cita
  #8  
Antiguo 04-10-2011
rogercito rogercito is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 60
Poder: 13
rogercito Va por buen camino
a parte a mi en el dbgrid me muestra muchas filas de datos, yo tengo que eligir una y guardarla en una tabla.
Responder Con Cita
  #9  
Antiguo 04-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Te estoy orientando, no es así?.
Te explico:
1- Tienes un query que tiene la informacion que quieres.
2- Esta informacion EXACTA es la que estara en la linea donde estes parado en el dbgrid.
Quieres pasar esa informacion a otra tabla.
1- Para pasar u obtener informacion se necesita un query (adicional al que tiene la informacion).
2- Se necesita hacer un Update de los campos que esten en esa informacion.
3- Se pasara la informacion COMO PARAMETRO de un query al otro.
Captas ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 04-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Caral Ver Mensaje
Te estoy orientando, no es así?.

Claro, rogercito, lo que está haciendo Caral es perfecto para que entiendas el concepto. TIENES que conseguirlo, si no lo entiendes entonces... mejor que ni lo pienses
Responder Con Cita
  #11  
Antiguo 04-10-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por rogercito Ver Mensaje
hola tengo el siguiente problema:

Yo realizo una consulta con un tquery, esa consulta se me muestra en un dbgrid, yo lo que neceito es seleccionar una fila del dbgrid y que todos los datos de esa fila se me guarden en sus correspondiente campos en la tabla. Se puede hacer esto??
no entendi....

se me guarden en sus correspondiente campos en la tabla en que tabla? la misma?, los datos los editas?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #12  
Antiguo 04-10-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rogercito Ver Mensaje
hola tengo el siguiente problema:

Yo realizo una consulta con un tquery, esa consulta se me muestra en un dbgrid, yo lo que neceito es seleccionar una fila del dbgrid y que todos los datos de esa fila se me guarden en sus correspondiente campos en la tabla. Se puede hacer esto??
No me queda claro si lo que quieres hacer es guardar los datos en la misma tabla (una vez modificados) o si quieres guardar los datos de la fila seleccionada en otra tabla.

Si es lo segundo, primero tienes que entender, que un DBGrid no contiene datos por sí mismo, sino que se limita a mostrar los datos del dataset asociado, en este caso, un Query.

Puedes leer los datos de la fila seleccionada mediante el método FieldByName del Query:

Código Delphi [-]
var
  CodigoEmpresa: Integer;
  HoraInicio: TTime;

begin
  CodigoEmpresa := Query1.FieldByName('COD_EMPRESA').AsInteger;
  HoraInicio := Query1.FieldByName('HORA_IN').AsDatetTime;

  // etcétera
end;

AsInteger, AsDateTime, etc. se usan dependiendo del tipo de datos del campo. Hay para cada tipo (AsBoolean, AsString, etc.)

Para pasar estos datos a otra tabla, necesitas otro Query con una sentencia INSERT del tipo:

Código SQL [-]
insert into tabla
(COD_EMPRE,COD_LOC_FI,HORA_IN,HORA_FIN)
values(:codigo, :loc, :horaInicio, :horaFin)

Para poner los valores en la consulta INSERT usas el método ParamByName. Puedes asignarlo directamente del otro Query, por ejemplo:

Código Delphi [-]
Query2.ParamByName('codigo').AsInteger := Query1.FieldByName('COD_EMPRESA').AsInteger;

Después de asignar los parámetros, ejecutas la consulta. Para ello, debes usar el método ExecSQL puesto que Open es sólo para consultas que te devuelven registros (como SELECT).

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGRID ¿como seleccionar fila y obtener datos de la fila ? JXJ Varios 5 18-04-2017 02:50:14
Como seleccionar con un click una fila del dbgrid. Niiña Varios 7 30-09-2011 05:11:42
Seleccionar una fila de un DBGrid chinchan C++ Builder 3 09-03-2010 16:58:37
seleccionar fila de un DBGrid empty Varios 1 31-03-2004 12:00:47
Seleccionar una fila de un dbgrid NuncaMas Conexión con bases de datos 3 22-01-2004 09:55:48


La franja horaria es GMT +2. Ahora son las 15:23:42.


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
Copyright 1996-2007 Club Delphi