Ver Mensaje Individual
  #1  
Antiguo 17-08-2004
MITOPE MITOPE is offline
Miembro
 
Registrado: mar 2004
Posts: 27
Reputación: 0
MITOPE Va por buen camino
Question Envio de Resultado de un AdoQuery

Hola a todos, quisiera que por favor me ayuden a mejorar este código, el problema que tengo es que al destuir (QsqlClienteOpcional) aparentemente tambien se destruye (QsqlSistema) y ya no me deja usar ningún metodo de la clase TSistema. La Clase TSistema es una especie de Clase Servidora. Tambien, no se si esta bien la forma como mando la información del query(QsqlSitema) al formulario o hay otra mejor forma de hacerlo, que la verdad lo hice de pura intuición, Espero me puedan dar sugerencias, para mejorar mi código.

Base de datos: Sql 2000
Delphi 6.0

Este es el Código del metodo que utilizo para traer la informacion de la base de datos

Código:
function TSistema.DevuelveClienteOpcional(pCita: String): TAdoQuery;
begin
  with QsqlSistema do
  begin
	Close;
	Parameters.Clear;
	Parameters.AddParameter.Name:='Cita';
	Parameters.ParamByName('Cita').Value:=pCita;
	SQL.Text:= 'Select * from CitaOpcional'+
			   ' Where IdCita= :Cita';
	ParamCheck:= True;
	Open;
	Result:= QsqlSistema;
  end;
end;
El formulario(FrmCita) que recibe la información tiene el siguiente código

Código:
 
procedure TFrmCita.MuestraClienteOpcional;
var QsqlClienteOpcional: TADOQuery;
begin
   QsqlClienteOpcional:= TADOQuery.Create(Owner);
   QsqlClienteOpcional.Connection:= AdocCita;
   QsqlClienteOpcional:= Sistema.DevuelveClienteOpcional(FCita);
   with QsqlClienteOpcional do
   begin
	 EdtOpcApPaterno.Text:= FieldByName('ApellidoPaterno').AsString;
	 EdtOpcNombres.Text:=FieldByName('NombreCliente').AsString;
	 EdtOpcTFijo.Text:=FieldByName('TelefonoFijoCo').AsString;
	 EdtOpcTCelular.Text:=FieldByName('TelefonoCelularCO').AsString;
	 EdtOpcHora.Text:=FieldByName('HoraReserva').AsString;
	 Destroy;
   end;
end;
Gracias a Todos de antemano.
Responder Con Cita