Assuming you can't use LINQ for whatever reason, is it a better practice to place your queries in stored procedures, or is it just as good a practice to execute *ad hoc* queries against the database (say, SQL Server for argument's sake)?