Neat article.
You can eliminate the cursor (though in this case there's really not a performance hit) by:
-- construct an execution string
declare @ExecString varchar(max)
set @ExecString = ''
select @ExecString = @ExecString + case when @ExecString = '' then '' else ',' end + COLUMN_NAME + '=''' + COLUMN_NAME + ''''
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = @TableName
order by ORDINAL_POSITION
set @ExecString = 'select ' + @ExecString
Wayne
Microsoft Certified Master: SQL Server 2008
Author - SQL Server T-SQL Recipes