I'm not sure, but I think this is not possible with CR, because you need strong type DataSet definition when you want to create report.
You can solve this using this "hack-like" implementation shown at this pages:
http://vb.net-informations.com/crystal-report/dynamic_crystal_report_from_sql_query_string.htm[
^] or
http://ymicrosoft.blogspot.com/2009/12/dynamic-crystal-report-using-c.html[
^]
This is not right solution, because you need to know how many columns you have in SQL query output, and you need to design your report according to that number.
My suggestion to you is to use another report framework that can satisfy your needs. ;)