Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
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
 



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 06:54:23.


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