Ampere's law is used to find the magnetic field B in a solenoid but not in a circular current loop. Take infinitesimal current elements on a circular loop, applying Ampere's law and summing up the B yields a different B as obtained by Biot Savart. However, in a solenoid, finite current wires are allowed in the application of Ampere's law. What makes the difference?
See this recent question. You can't apply Ampere's law to isolated finite segments of current-carrying wire. Such finite segments can't exist by themselves, and Ampere's law relies on the full circuit to work. Without the full circuit, by choosing different surfaces bounded by the amperian loop, you can get contradictory results. The result of Ampere's law applied to a solenoid is only strictly valid for an infinitely long solenoid: it won't give the accurate magnetic field in a short solenoid.
The Biot-Savart law on the other hand is formulated as an integral along the loop, so we can speak of magnetic field contributions of finite pieces of wire, although you still need to integrate along the entire loop to get the actual magnetic field. Ampere's law and the Biot-Savart law are equivalent in magnetostatics, however the Biot-Savart law is often more useful in evaluating magnetic fields other than in the simplest of geometries.