i would like to generate reports in c# what code do i require to do this, my database is ms sql compact 3.5

You can use the built in report control, available via the toolbox in vs. You drag the control on to a form and set its target report to an instance of an .rdlc file.

Alternatively you could use crystal reports or SQL server Reporting Services (SSRS) or even a custom report engine designed and rendered your self using gdi+.

You question is a bit open, to the options are as broad. If you can be more specific about your requirements (win/web/sql/client only/ client sever etc) and any constraints you face, then more specific answers can be offered.