Hola
Me da la impresion de que (numreferencia) es un campo integer.
Ademas de que estas ejecutando y abriendo la consulta.
prueba asi:
Código Delphi
[-]
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from compras where numreferencia = :Num';
adoquery1.Parameters[0].value:= StrToInt(edit1.text);
adoquery1.Open;
Saludos