Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
Post Mostrar columna del dbgrid en un dbmemo

Hola! tengo la siguiente pregunta
Necesito mostrar en un dbmemo en forma de lista una columna de un dbgrid que es el resultado de una consulta anterior..
Responder Con Cita
  #2  
Antiguo 22-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Me parece mas simple mostrarlo en el Memo directamente desde una consulta.

Por ejemplo:
Código Delphi [-]
procedure EncolumnarMemo(const ColName:string; aQuery: TADOQuery; aMemo: TMemo);
begin
  aMemo.Lines.BeginUpdate;
  aMemo.Clear;
  try
    with aQuery do
    begin
      Close;
      SQL.Text := 'SELECT ' + ColName + ' FROM TU_TABLA';
      Open;
      while not Eof do
      begin
        aMemo.Lines.Add(FieldByName(ColName).AsString);
        Next;
      end;
      Close;
    end;
  finally
    aMemo.Lines.EndUpdate;
  end;
end;

Ejemplo del uso:
Código Delphi [-]
 
   EncolumnarMemo('NOMBRE_DEL_CAMPO',  ADOQuery1, Memo1);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 22-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
Hola ecfisa, antes que nada muchas gracias! siempre muy atento..
este codigo me funciono! pero me muestra toda la columna de la tabla, yo necesito mostrar en el memo, sólo el resultado de una consulta hecha anteriormente que se muestra en un dbgrid. Es decir pasar los campos mostrados en el dbgrid a un memo
Al ejecutar este codigo me borra el resultado anterior...
Responder Con Cita
  #4  
Antiguo 22-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por exequielmatias1 Ver Mensaje
este codigo me funciono! pero me muestra toda la columna de la tabla, yo necesito mostrar en el memo, sólo el resultado de una consulta hecha anteriormente que se muestra en un dbgrid. Es decir pasar los campos mostrados en el dbgrid a un memo
Hola.

Esa consulta fué un ejemplo, en la práctica deberías repetir la consulta que utilizaste para mostrar la información en el DBGrid, por ejemplo:
Código Delphi [-]
...
  SQL.Text := 'SELECT ' + ColName + ' FROM TU_TABLA WHERE OTRO_CAMPO BETWEEN 1 AND 50';
...
Cita:
Al ejecutar este codigo me borra el resultado anterior...
Lo ideal es usar otro componente query para enviarle a la función.


Cita:
Es decir pasar los campos mostrados en el dbgrid a un memo
Directamente desde el DBGrid sería:
Código Delphi [-]
procedure TForm1.EncolumnarMemo(const aFieldName: string);
var
  BM: Pointer;
begin
  Memo1.Lines.Clear;
  with DBGrid1.DataSource.DataSet do
  begin
    DisableControls;
    BM := GetBookmark;
    try
      while not Eof do
      begin
        Memo1.Lines.Add(FieldValues[aFieldName]);
        Next;
      end;
    finally
      GotoBookmark(BM);
      FreeBookmark(BM);
      EnableControls;
    end;
  end;
end;
En ese caso estamos trabajando con el TDataSet que alimenta al DBGrid, por lo que debemos guardar la posición del registro actual antes de recorrerlo para luego dejarlo en su posición original.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 14:47:20
Mostrar texto de un DBMemo a partir de un caracter exequielmatias1 Varios 6 21-08-2013 16:01:04
como mostrar un DBMemo? DOS Conexión con bases de datos 4 05-12-2012 23:26:46
Mostrar un ícono en una columna de un listview r1d2m3 OOP 5 07-06-2010 20:29:42
Poner una columna de un DBGrid como columna Fija rgstuamigo OOP 4 04-03-2009 21:54:38


La franja horaria es GMT +2. Ahora son las 19:46:48.


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