Ver Mensaje Individual
  #4  
Antiguo 11-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Reputación: 19
BuenaOnda Va por buen camino
Thumbs up

lo que dice bicho esta super bien, pero si quieres utilizar una variable, que contenga tu consulta deberia ser de la sgte manera :

//por ejemplo para realizar una consulta a la base de datos...

var
Cod : String;
Activo : String;
Consulta : String;
Encontrados : Integer;

Cod:='1';
Activo:='S';
Encontrados:=0;

Consulta:='';
Consulta:='Select * From Tabla';
Consulta:=Consulta + ' Where Codigo = ' + Trim(Cod);
Consulta:=Consulta + ' And RegistroActivo = ''' + Trim(Activo) + '''';

//Cuando el campo es de un tipo de dato Varchar(cadena,texto) o de un
//tipo DateTime se le deben anteponer tres comillas simples (') y cerrar
//con tres comillas simples('), si es que la concatenacion continua, o
//4 comillas simples si la concatenacion termina, en este caso el campo
// "Codigo" es de tipo Integer y RegistroActivo Varchar"....

TRY
AdoQuery1.Sql.Clear;
AdoQuery1.Sql.Text:=Consulta;
AdoQuery1.Open;

IF AdoQuery1.RecordCount > 0 THEN //Se encontraron coincidencias.
BEGIN
AdoQuery1.Last; //Nos movimos al ultimo registro...
Encontrados:=AdoQuery1.RecordCount;

AdoQuery1.First; //Nos movemos al primero...

WHILE NOT AdoQuery1.Eof DO
BEGIN
//Recorremos los regitros encontrados....
AdoQuery1.Next; //Nos Movemos al Siguiente registro...
END;

END;

FINALLY
AdoQuery1.Close; //Cerramos el AdoQuery1...
END;


espero que te sirva...
Responder Con Cita