views:

127

answers:

3

Assume i have a custom Windows application written in C#. This application has only the following functionalists, add, edit, delete and view. For example, a user can add a sale, change sales record, delete a sale record or view the whole sales record.

I need to add some reporting functionalists e.g. i want a user to print the sales of a certain customer from 2008 to 2009 into pdf, what all products a certain customer has purchased from us and so on. I will only include the basic common report requests that are usually needed in the office.

Any other kind of reports that are requested inconsistently, i would do it manually from my side at the back end and send the results manually to the requester.

What i would do is:

If a user wants more info of a certain customer, a special window box appears for that customer. This window box will have different controls that allows user to request more info such as, print customer purchases from ..... to ..... (user chooses the dates) and user will view results in pdf or so. Of course, at the back scene i will write an appropriate SQL Query with parameters that meets a certain function.

Is this how it should be done? I have heard about SQL Reporting, i don't know anything about it yet. I will check it out. Anyhow, your suggestions won't harm. I'm still a student, so i don't have practical experience yet. I hope my question is clear enough.

Thank you.

+1  A: 

For this kind of thing in the past I've coded up Crystal Reports and hosted them in the app using the Crystal Viewer. I think it's badged up as Business Objects now after a buyout a few years back.

You can do virtually the same with Reporting Services components which also has a viewer control. For general each & flexibility though you should take a look at whether its better to just host the reports outside of the application in a Reporting Services set up so that you can build up a reports catalogue independently of the application.

Chris W
The best way to use crystal reports is as a fire-lighter, and it's rubbish at that as well.Avoid it like the plague.
JonB
A: 

The reporting services of sql-server 2005 and higher are a good choice for such a feature. Other tools (e.g.: telerik reporting) are also a good choice but you need to buy them.

I'd prefer the reporting services.

Gambrinus
A: 

I've also had good experience using Reporting Services. If you don't want to use a full blown reporting server, you have the ability to create local reports.

jaltiere