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-11-2007
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Lightbulb cambiar datasource.dataset en tiempo de ejecución

Hola amigos estoy usando delphi 7 y las fibplus les explico tengo un datamodule con todos los componentes necesarios para conectarme a mi base de datos y tablas en mi forma principal tengo un stringgrid el cual relleno con el nombre de los componentes tpFIBDataSet
Código Delphi [-]
  StringGrid1.Cells[0,0]:= 'Tablas';
  StringGrid1.Cells[1,0]:= 'Numero';
  For a:= 0 to (DtmOrigen.ComponentCount -1) do
    If DtmOrigen.Components[a].ClassName = 'TpFIBDataSet'
      Then Begin
        StringGrid1.Cells[0,b]:= DtmOrigen.Components[a].Name;
        StringGrid1.Cells[1,b]:= IntToStr(DtmOrigen.Components[a].ComponentIndex);
        b:= b+1;
        StringGrid1.RowCount:= StringGrid1.RowCount+1;
      End;
además tengo un datasource y un dbgrid lo que quiero hacer y no encuentro la manera ( ) es que al hacer click en alguna celda del stringgrid la propiedad del dataset del datasource cambie y así poder ver los datos almacenados en esa tabla
Código Delphi [-]
DataSource1.dataset:= ????????? (los datos estan en un modulo de datos)
Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
  #2  
Antiguo 30-11-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Teniendo el nombre del componente, puedes usar la función FindComponent o crearte una que te devuelva un TDataSet:

Código Delphi [-]
function TDataModule1.DataSetByName(const AName: string): TDataSet;
var
  I: Integer;

begin 
  for I := 0 to Pred(ComponentCount) do
    if (Components[i] is TDataSet) and (Components[i].Name = AName) then
    begin
      Result := TDataSet(Components[i])
      Exit
    end;
  Result := nil
end;

Luego desde la forma en cuestion haces:

Código Delphi [-]
DataSource1.DataSet := DataModule1.DataSetByName('DatosCliente')

Usando FindComponent sería algo así:

Código Delphi [-]
DataSource1.DataSet := DataModule1.FindComponent('DatosCliente') as TDataSet



Saludos...
Responder Con Cita
  #3  
Antiguo 30-11-2007
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Código Delphi [-]
DataSource1.DataSet := DataModule1.FindComponent('DatosCliente') as TDataSet
Muchas gracias maeyanes aunque aun no lo pruebo, pero estoy seguro que esta es la solución ya que yo lo estaba intentando solo con
Código Delphi [-]
DataSource1.DataSet := DataModule1.FindComponent('DatosCliente')
y me marcaba error de tipos


gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
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
Borrar los Datasource Creados en tiempo de ejecucion Nieto OOP 2 29-11-2007 22:12:19
Indicar Parámetro de otro DataSource en tiempo de ejecución gluglu Conexión con bases de datos 1 22-05-2006 15:55:54
Crear DataSet en tiempo de ejecución. Drahcir Conexión con bases de datos 6 13-04-2006 03:16:45
cambiar indice en tiempo de ejecucion @-Soft Tablas planas 3 25-07-2004 14:47:43
cambiar color en tiempo de ejecucion? maruenda Varios 8 14-01-2004 21:28:34


La franja horaria es GMT +2. Ahora son las 03:16:36.


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