As its a FAQ here's an example:
DECLARE @MyOutputParameter int,
@SomeID int
SELECT @SomeID = 1234
EXEC sp_ExecuteSQL N'SELECT @MyOutputParameter = MyColumn FROM MyTable WHERE MyID = @SomeID',
N'@MyOutputParameter int OUTPUT, @SomeID int',
@MyOutputParameter = @MyOutputParameter OUTPUT,
@SomeID = @SomeID
SELECT [@MyOutputParameter]=@MyOutputParameter
Both OUTPUT parameters, in the call to sp_ExecuteSQL, are required
See also: http://support.microsoft.com/kb/262499