Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 24-02-2010
kasper kasper is offline
Miembro
 
Registrado: feb 2008
Posts: 20
Poder: 0
kasper Va por buen camino
Cita:
Empezado por ZeroHot Ver Mensaje
Estoy de acuerdo con nuestro compañero ContraVeneno tu DataSource reprecenta tu fuente de tus datos entonces cuando le escribes la sentencia

Código Delphi [-]DataSource.DataSet:=ADOQuery1;


en español estas diciendo mi fuente de datos es igual a lo mismo que he consultado con el ADOQuery1, es por eso que cuando cuando liberas tu ADOQuery1 tu fuente se que da vacia y no muestra nada...

Te recomiendo que mejor nos expliques para que situacion quieres usar eso, es decir en realidad que es lo que quieres lograr cual seria la funcionabilidad y tal ves resulte otra forma de hacerlo mucho mas comoda...

Saludos desde R.D
Muchas gracias por tu aportación ZeroHot. Como dices voy a explicar el motivo por el cual quiero hacer esto y si alguien conoce una forma más elegante de hacerlo, lo agradeceré!
Tengo un formulario general y otro donde realizo las consultas a SQLServer. Me gustaría tener separado todo lo que refiere a consultas a SQLServer del formulario general, por lo que hago funciones del estilo:

Código:
procedure TForm1.FormCreate(Sender: TObject);
begin
    CargarClientes(DataSourceClientes);
    DBGridClientes.DataSource := DataSourceClientes; //quiero la
//información para mostrarla en un DBGrid
end;
y esta función está definida en el formulario donde se hacen todas las consultas a SQLServer, como por ejemplo:

Código:
procedure CargarClientes(var DataSource: TDataSource);
var
  ADOQueryClientes:TADOQuery;
begin
  Try
    ADOQueryClientes:=TADOQuery.Create(nil);
    //se realiza la conexión de "ADOQueryClientes"
    //consulta que quiero hacer
    ADOQueryClientes.Open;
    DataSource.DataSet:=ADOQueryClientes;
  Finally
    //FreeAndNil(ADOQueryClientes); //está comentado porque si lo
//descomento se pierde la información tal y como hemos estado hablando
  End;
end;
Nota: "DataSourceClientes: TDataSource" es un objeto visual del formulario general.

No se si así queda algo más claro. La solución rápida que se me ha ocurrido sería crear el AdoQuery desde el formulario general y pasárselo a la función para que se modifique en ella.
¿Me proponéis algún método mejor?
Muchas gracias por vuestra ayuda!
Saludos
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿es necesaria la BDE si usamos TDataSource? coso SQL 5 04-08-2008 15:16:17
TDataSet,TDataSource,TclientDataSet teote Conexión con bases de datos 1 17-07-2008 16:52:31
Recorrer controles enlazados a una TDataSource Juandedian OOP 2 05-02-2008 20:06:10
Como enlazar el TDataSource a un TpFIBQuery ???? AGAG4 Conexión con bases de datos 3 21-10-2006 00:44:20
TDataSource - ¿Para qué existe? roman Debates 6 14-07-2004 19:31:44


La franja horaria es GMT +2. Ahora son las 08:17:30.


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