Ver Mensaje Individual
  #3  
Antiguo 17-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Reputación: 0
chalao Va por buen camino
Muchas gracias por tu pronta respuesta.

En realidad el código que tu has puesto era similar a lo que yo estaba probando pero al verlo caí en el error, me explico.
Tengo una función:
Código Delphi [-]
function Query( Peticion : string ) : TZQuery;
Que ejecuta la peticion en mi componente ZQuery.
Yo lo que hacía era algo similar a:
Código Delphi [-]
  Peticion := 'SELECT nombre FROM usuarios WHERE conectado=1';
  Query( Peticion ).First;
  While Not Query( Peticion ).Eof Do begin
    Showmessage( Query( Peticion ).FieldByName('nombre').AsString);
    Query( Peticion ).Next;
  end;

Con lo cual al hacer la peticion en todas las sentencias siempre obtenia el primer campo.

Ahora lo cambié a:
Código Delphi [-]
  var
  ZQuery : TZQuery;
............
  Peticion := 'SELECT nombre FROM usuarios WHERE conectado=1';
  ZQuery := Query( Peticion );
  ZQuery.First;
  While Not ZQuery.Eof Do begin
    Showmessage( ZQuery.FieldByName('nombre').AsString);
    ZQuery.Next;
  end;

Y perfecto, el error no estaba en el mal uso de first y next sino en el mal uso de mi propia function.

Gracias
Responder Con Cita