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 30-01-2012
jehemo jehemo is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
jehemo Va por buen camino
Problema DBRGRid

Alguien podria ayudarme, tengo el siguiente problema, estoy realizando una aplicacion con una base de datos en MySQL a traves de ADO y trato de mostrar los datos en un DBGRid pero cuando lo ejecuto el DBGRid me aparece vacio a continuacion el codigo


procedure TPrincipal.Consultar1Click(Sender: TObject);
var
FCEmpresas: TFCEmpresas;
begin
Datamodule2.AQEmpresas.SQL.Clear;
datamodule2.AQEmpresas.Active:= false;
Datamodule2.AQEmpresas.SQL.Text:= ('select id_empresa, empresa from empresas order by id_empresa');
FCEmpresas:= TFCEMpresas.Create(Application);
with FCEmpresas do
begin
DBGCEmpresas.DataSource:= Datamodule2.DSEmpresas;
datamodule2.AQEmpresas.Active:= true;
DBGCEmpresas.columns.add.fieldName:='id_empresa';
DBGCEmpresas.columns.Add.FieldName:= 'empresa';
DBGCEmpresas.Columns[0].Title.Caption:= 'Id';
DBGCEmpresas.Columns[1].Title.Caption:= 'Empresa';
Show();
end;
Responder Con Cita
  #2  
Antiguo 30-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner etiquetas cuando muestres código, ejemplo:




Tu código quedaría así:
Código Delphi [-]
procedure TPrincipal.Consultar1Click(Sender: TObject);
var
    FCEmpresas: TFCEmpresas;
begin
    Datamodule2.AQEmpresas.SQL.Clear;
    datamodule2.AQEmpresas.Active:= false;
    Datamodule2.AQEmpresas.SQL.Text:= ('select id_empresa, empresa from empresas order by id_empresa');
    FCEmpresas:= TFCEMpresas.Create(Application);
    with FCEmpresas do
    begin
        DBGCEmpresas.DataSource:= Datamodule2.DSEmpresas;
        datamodule2.AQEmpresas.Active:= true;
        DBGCEmpresas.columns.add.fieldName:='id_empresa';
        DBGCEmpresas.columns.Add.FieldName:= 'empresa';
        DBGCEmpresas.Columns[0].Title.Caption:= 'Id';
        DBGCEmpresas.Columns[1].Title.Caption:= 'Empresa';
        Show();
    end;
Responder Con Cita
  #3  
Antiguo 30-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y no olvides leer nuestra guía de estilo, gracias por tu colaboración.
Responder Con Cita
  #4  
Antiguo 31-01-2012
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.

Siempre trata de exponer con la mayor claridad lo que deseas realizar, aportando la mayor cantidad de detalles sobre la dificultad que tenes para conseguirlo.

Según entiendo, lo que deseas hacer es que, en el evento OnClick de un botón del form principal se abra otro form que contiene un TDBGrid que debe mostrar los campos id_empresa y empresa de la tabla empresas.

Como un ejemplo en el código:
Código Delphi [-]
var
    FCEmpresas: TFCEmpresas;
no estás indicando de que componente desciende TFCEmpresas...

Entonces, suponiendo que AQEmpresas sea de tipo TADOQuery, TFCEmpresas de tipo TForm y DBGCEmpresas de tipo TDBGrid, creo que deberías probar de este modo:
Código Delphi [-]
procedure TTPrincipal.Consultar1Click(Sender: TObject);
begin
  with Datamodule2.AQEmpresas do
  begin
    Close;
    SQL.Text := 'select id_empresa, empresa from empresas order by id_empresa';
    Open;
  end;
  FCEmpresas := TFCEmpresas.Create(Self);
  with FCEmpresas do
  begin
    with DBGCEmpresas do
    begin
      Columns.Add.FieldName := 'id_empresa';
      Columns.Add.FieldName := 'empresa';
      Columns[0].Title.Caption := 'Id';
      Columns[1].Title.Caption := 'Empresa';
      DataSource := Datamodule2.DSEmpresas;
    end;
    Visible := True; 
  end;
end;
Eso si mi conjetura anterior hubiera sido acertada...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 31-01-2012 a las 18:30:16.
Responder Con Cita
  #5  
Antiguo 03-02-2012
jehemo jehemo is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
jehemo Va por buen camino
Gracias por la ayuda pero no he resuelto mi problema, el problema es que no me muestra la informacion de la base de datos en el dbgrid solo me aparece las columnas vacias supongo q me falta una instruccion para cargar los datos pero desconozco cual es
Responder Con Cita
  #6  
Antiguo 03-02-2012
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 jehemo.

El código que te puse anteriormente estaba previamente probado y muestra los campos correctamente en el DBGrid. Lo que me hace pensar que tabla 'empresas' pueda no tener datos...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 03-02-2012
jehemo jehemo is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
jehemo Va por buen camino
si tengo datos en la tabla, de hecho ejecuto el query tal cual en mysql y si me regresa informacion ya copie tu codigo tal cual y no me muestra datos
Responder Con Cita
  #8  
Antiguo 03-02-2012
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 jehemo Ver Mensaje
si tengo datos en la tabla, de hecho ejecuto el query tal cual en mysql y si me regresa informacion ya copie tu codigo tal cual y no me muestra datos
Hola jehemo.

Creo entonces que el problema no está en el planteo que has echo, tal vez se esté produciendo en otro lado.

Te adjunto una prueba muy simple con ADO y dbdemos.mbd que viene con Delphi por no tener acceso a tu bd obviamente. Pero funcionará sin problemas camiando los nombres de tabla y campos. La compilación del ejemplo se realizo en : C:\TEMP\jehemo\ (donde también está dbdemos.mbd)

Revisalo con tranquilidad y quizá te sirva para localizar el fallo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-02-2012 a las 17:57:26.
Responder Con Cita
  #9  
Antiguo 03-02-2012
jehemo jehemo is offline
Miembro
 
Registrado: jul 2006
Posts: 15
Poder: 0
jehemo Va por buen camino
muchas gracias ya logre resolver el problema, este se encontraba en el datasource
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


La franja horaria es GMT +2. Ahora son las 03:43:11.


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