Bueno y en conclusion que ?
Para mi la sentencia tendria que quedar asi:
Código Delphi
[-]
DbFarmacia.ADOQuery1.SQL.Text:= 'select * from DATOS';
DbFarmacia.ADOQuery1.Open;
edit1.Text:=DbFarmacia.ADOQuery1.Fields[0].AsString;
edit2.Text:=DbFarmacia.ADOQuery1.Fields[1].AsString;
edit3.Text:=DbFarmacia.ADOQuery1.Fields[2].AsString;
edit4.Text:=DbFarmacia.ADOQuery1.Fields[3].AsString;
edit5.Text:=DbFarmacia.ADOQuery1.Fields[4].AsString;
DbFarmacia.ADOQuery1.ExecSQL;
DbFarmacia.ADOQuery1.Close;
Suponiendo que la conexion esta hecha y activa.
Código Delphi
[-]DbFarmacia.ADOQuery1.ExecSQL;
Esto lo veo importante ya que si se usa el query en otra ocasion este tendra que estar vacio para llenarlo con otros datos, me parece una buena practica.
Saludos