report writing capabilities in Visual Studio?

Pavilion

Member
Joined
Jan 22, 2014
Messages
5
Programming Experience
10+
Hello Everyone:
About a month ago, I downloaded Visual C# 2010 Express for testing purposes. So far I like what I see. I can see moving some of my clients away from MS Access.
But - I would like to have an extended discussion about what to expect.


The first question is, what kind of report writing capabilities does Visual Studio have? This is a very important aspect, so many of my clients have extensive reporting needs and their reports are pretty complex.


Thanks in Advance:
Pavilion
 

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,219
Location
Sydney, Australia
Programming Experience
10+
Visual Studio includes support for SQL Server Reporting Services. You can use reports stored on an actual SSRS server or you can embed client reports in your application and have no specific dependence on SQL Server. I'm not 100% sure what report creation support is built into the Express editions these days. It used to be that you could create reports only in Visual Web Developer Express. While I never tried, I would assume that you would then be able to import them into a C# Express project.

Since 2012, there's been a bit of a shake-up in the VS Express lineup and neither VWD Express nor C# Express exist any longer. There's now VS Express for Web and VS Express for Windows Desktop, both of which support both C# and VB. Again, I'm not sure what the report creation capabilities are.

Unless you have a specific reason to use the 2010 version, I would suggest using the most recent VS Express version, which is 2013.
 

Pavilion

Member
Joined
Jan 22, 2014
Messages
5
Programming Experience
10+
Visual Studio includes support for SQL Server Reporting Services. You can use reports stored on an actual SSRS server or you can embed client reports in your application and have no specific dependence on SQL Server. I'm not 100% sure what report creation support is built into the Express editions these days. It used to be that you could create reports only in Visual Web Developer Express. While I never tried, I would assume that you would then be able to import them into a C# Express project.

Since 2012, there's been a bit of a shake-up in the VS Express lineup and neither VWD Express nor C# Express exist any longer. There's now VS Express for Web and VS Express for Windows Desktop, both of which support both C# and VB. Again, I'm not sure what the report creation capabilities are.

Unless you have a specific reason to use the 2010 version, I would suggest using the most recent VS Express version, which is 2013.

Yeah - I've been wondering about which version I should use as well.

But - right now - the report writing capabilities are the biggest thing. In Access I can develop reports locally, and they're very complex. You wouldn't believe what Access can do in the way of report generation. Beyond creating some pretty extensive Reports I can:

  1. Attach reports to command buttons, so users can run reports right from the application.
  2. Set up textboxes and combo boxes so users can pass parameters to the reports SQL statements.
These are the kinds of capabilities I'm wondering about in Visual Studio.

Thanks for participating in this conversation. I want to do right by my clients and so feel the need to completely research this.

Pavilion
 

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,219
Location
Sydney, Australia
Programming Experience
10+
SSRS will have no issues with that sort of thing. You add an RDLC file to your project to create a client report and then load it into a ReportViewer control at run time. I don't have any Express editions handy to check which has what but, while you may have to create the reports in SQL Server rather than VS, you will definitely be able to at least import them into a project after designing them externally.
 

Pavilion

Member
Joined
Jan 22, 2014
Messages
5
Programming Experience
10+
SSRS will have no issues with that sort of thing. You add an RDLC file to your project to create a client report and then load it into a ReportViewer control at run time. I don't have any Express editions handy to check which has what but, while you may have to create the reports in SQL Server rather than VS, you will definitely be able to at least import them into a project after designing them externally.

OK - so now I'm starting to get a handle on all the reading I've done (which really didn't explain anything in clear terms). I am not a fan of Microsoft Documentation (sigh).

In order for me to successfully develop in Visual Studio, one of the requirements for my clients would be to have SQL Server on their system. Is that a correct assumption?

Thanks Much - Pavilion
 

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,219
Location
Sydney, Australia
Programming Experience
10+
In order for me to successfully develop in Visual Studio, one of the requirements for my clients would be to have SQL Server on their system. Is that a correct assumption?

Only if you want to host the reports on the server. If you create client reports then they are part of your project and they can take their data from a DataSet that you can populate any way you like, from any data source you like.
 

Pavilion

Member
Joined
Jan 22, 2014
Messages
5
Programming Experience
10+
OK - scratching my head here. :indecisiveness: You said this first ...

while you may have to create the reports in SQL Server rather than VS

And now you say this

Only if you want to host the reports on the server. If you create client reports then they are part of your project and they can take their data from a DataSet that you can populate any way you like, from any data source you like.

So... I assume it's possible to do both? Please let me know if I'm not following.

And if it's possible to do both ... then within in the VS project itself I can:
  1. create a dataset (with parameters harvested from input controls).
  2. Go to Project, Add New Item, and then there will be a Report option?
  3. And the Report option in VS is robust, it'll be able to handle some pretty high-end report writing capabilities, to say nothing of the standard subreports and grouping levels
Have I outlined report writing capabilities in Visual Studio correctly?

Thanks Much: Pavilion
 

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,219
Location
Sydney, Australia
Programming Experience
10+
Report creation is separate to report display. If you want to use server reports then you must create them in SQL Server Business Intelligence Studio or SQL Server Data Tools, which are both SQL Server components that run in the VS shell. To view the reports, you must install SQL Server Reporting Services and host the reports in that server. If you want to use client reports then you can add them as a new item to your project in VS and design them there or you can design them in SQL Server and import them into your project. Either way, they are part of your project and have no specific dependency on SQL Server once deployed.

Here's the Add New Item dialogue in VS 2012 Ultimate:

New Report.png

Not sure whether the same options are available in VS 2012 Express but, if not, you can install SQL Server Data Tools and create your reports there before importing them into your C# project.
 
Top Bottom