Pro VS 2005 Reporting using SQL Server and Crystal Reports


Pro VS 2005 Reporting Using SQL Server and Crystal Reports offers a proven methodology for building reporting solutions. The authors focus on SQL Server 2005 and Crystal Reports, but also cover other popular technologies like Oracle and ActiveReports, to give you a thorough grounding in the reporting field. The book presents the requirements for a real-world reporting application in a distributed environment, and covers all the phases of development.

In many business ...

See more details below
$59.57 price
(Save 8%)$64.99 List Price
Other sellers (Paperback)
  • All (13) from $5.63   
  • New (6) from $16.50   
  • Used (7) from $5.63   
Sending request ...


Pro VS 2005 Reporting Using SQL Server and Crystal Reports offers a proven methodology for building reporting solutions. The authors focus on SQL Server 2005 and Crystal Reports, but also cover other popular technologies like Oracle and ActiveReports, to give you a thorough grounding in the reporting field. The book presents the requirements for a real-world reporting application in a distributed environment, and covers all the phases of development.

In many business applications, reports play a critical role. The stakeholders of a software system expect reports to summarize data and efficiently present it to business users and decision markers. They expect reports to present data in ways they can easily interpret, and in ways that help them evaluate and analyze business performance. Visual Studio 2005, SQL Server 2005, and Crystal Reports contain powerful capabilities to help you build and deliver sophisticated presentation output. This is the only book available that shows you how to use all these disparate technologies together to create a cohesive solution.

Read More Show Less

Product Details

  • ISBN-13: 9781590596883
  • Publisher: Apress
  • Publication date: 11/21/2006
  • Series: Expert's Voice In . Net Series
  • Edition number: 1
  • Pages: 528
  • Product dimensions: 6.90 (w) x 9.10 (h) x 1.10 (d)

Meet the Author

Rod Paddock founded Dash Point Software, Inc. in 2001 to develop high quality custom software solutions. Rod's current and past clients include: Six Flags, First Premier Bank, Microsoft, Calamos Investments, the U.S. Coast Guard, and the´┐ŻU.S. Navy. Along with developing software, Rod is a well-known author and conference speaker. Beginning in 1995, Rod has given talks, training sessions and keynotes in the United States, Canada and Europe. Rod was made an MSDN Canada speaker in 2004 and is a Microsoft VB .NET "Most Valuable Professional." Rod is has been editor-in-chief of Code Magazine since 2001.

Kevin S. Goff is the author of CoDe magazine's "The Baker's Dozen" series. He selects a development topic each month and writes 13 productivity tips. Most topics cover .NET in some manner. In late 2004, he wrote an article on productivity tips for Crystal Reports in .NET, a subject close to his heart. The article discussed reporting for line-of-business applications, and focused on producing efficient, effective results. The article caught the attention of many people and organizations, and he's been talking to people and building up the ideas for this book ever since.

Read More Show Less

Table of Contents

About the Authors     xvii
About the Technical Reviewer     xix
Acknowledgments     xxi
Introduction     xxiii
The Requirements: Begin with the End in Mind
Defining the Requirements     3
The First Meeting: Defining the Requirements     3
Building the Plan of Attack     7
Building a Report Draft and Report Style Guide     9
Summary     10
Building the Database with SQL Server 2005
Generating Result Sets with T-SQL 2005 Stored Procedures and UDFs     13
Defining the Result Set     13
Querying on a Variable Number of Selections     16
Handling Variable Selections with XML     19
Table-Valued UDFs and How to Apply Them     20
Moving On: UDF to Get Worker Rates     22
Putting It All together: Stored Procedure GetTimeSheetData     24
Summary     28
More T-SQL 2005 Stored Procedures     29
Building the Construction Job Summary Report     30
Determining the Total Labor Data     31
Retrieving Material Purchases     33
Retrieving Invoiced Amounts and Payments     34
Putting It All Together     35
Building the Result Sets for an Aging Receivables Report     36
General SQL Server Programming Tasks     40
TOP N Reporting     40
Common Table Expressions/Recursive Queries     41
Implementing Audit Trail Functionality     43
Getting Immediate Feedback with Output and Output Into in SQL Server 2005     45
Using Dynamic SQL (and Finding Alternatives)     45
New Functions in SQL Server 2005 to Assign Ranking Values     47
Implementing Better Error Handling with Try...Catch     48
Using Like to Perform Text Searches     49
Working with XML Data     49
Using Date Parts     51
A Cleaner Alternative to In: Intersect and Except     52
Apply Revisited: Using UDFs with Correlated Subqueries     52
Using SQL Server 2000     53
Summary     54
Recommended Reading     54
Defining and Building the Architecture
Building Remoting/Web Service Solutions with Interfaces     57
Begin with the End in Mind     58
.NET Remoting     58
.NET Web Services     61
Your Development Goals     62
Remoting and Web Services     67
General Usage Notes for .NET Remoting     68
General Usage Notes for .NET Web Services      68
Defining the Interface     68
Building a Remoting Application     69
Writing the Server-Side Code     70
Building the Client-Side of a Remoting Piece     73
Building a Web Service     74
Building a Web Service     74
Using the Web Service from a Client Application     79
Creating a Factory to Simplify the Process     84
New Features for Remoting in Visual Studio 2005     88
Secure TCP Remoting and TCP Channel Timeouts     88
The New IPC Client Channel     89
Serializing DataSets in a Binary Format     89
Using .NET Generics to Simplify Remoting Interfaces     90
Summary     91
Recommended Reading     92
Building a Data Access Layer     93
Overview: What Is a Data Access Layer?     93
Requirements for a DAL     94
Building a Data Access Class     95
Handling Multiple Databases with a DBKey Identifier     95
Handling Stored Procedure Parameters     98
Implementing a Custom Timeout     100
Using Your Basic Data Access Class     102
Are You Satisfied with This?     102
Populating Typed DataSets Using .NET Generics      103
Looking at Where You Are     105
The Aging Report Business Object (bzAgingReport)     106
The Aging Report Web Service (wAgingReport.asmx)     106
The Aging Report Data Access Class (daAgingReport.cs)     107
Your Final Data Access Class (cgsDataAccess.cs)     108
Extending a Data Access Class     111
Multiple Active Result Sets     111
Loading a DataSet from a DataReader     112
Using Provider Factories to Support Multiple Database Products     112
Asynchronous Processing Made Simple     113
Summary     116
Using Strongly-Typed DataSets     119
What Are Typed DataSets?     119
Building Typed DataSets for This Application     120
Building a Utility to Generate a Typed DataSet from Your Stored Procedures     120
Creating a Typed DataSet Manually     124
Benefits of Typed DataSets     126
Strong Typing     126
Easier Traversing of Hierarchical Data     127
Find Your Way Easier     127
Null Value Handling     128
But Wait-More Benefits!     128
Reporting     128
Subclassing     128
Simplify Data Binding      129
Using Typed DataSets with Designer Tools     129
Using Typed DataSets for Reports     129
Viewing Typed DataSets in Windows Forms     130
Overcoming the Shortcomings     133
The Great Debate on Typed DataSets     134
Stop the Presses! Something Doesn't Match     134
Breakpoint: The Architecture As It Stands     136
Breaking Down the Code     138
Summary     141
Recommended Reading     141
Middleware Data Summarization Using Typed DataSets     143
Capabilities in ADO.NET     143
The Scenario: Produce an Aging Report Result Set from a Flat List of Invoices     144
Creating an Instance and Adding Rows     146
Creating Default Column Values for New Rows     147
Looping Through Strongly-Typed Rows     148
Performing Date Math     148
Performing Lookups on Primary Keys     149
Filtering     150
Performing the Equivalent of Select Distinct     152
Handling Data Relations     152
Computing Subtotals Automatically     154
Computing Subtotals Manually     155
Putting It All Together     157
Some Miscellaneous ADO.NET Tips     161
Reading/Writing Null Values     161
More Date Handling     162
Choices, Choices: When to Use RowFilter, When to Use Select()?     163
Summary     163
Report Writers
Basic/Intermediate Report Design with Crystal Reports     167
Versions of Crystal Reports     168
The Crystal Reports Push Model     168
Building a Reusable Header and Footer Subreport     169
Creating the Generic Report Header and Defining the Data Source     170
Editing Options     175
Using Report Sections to Build the Report Header     178
Building the Footer Page     180
Using the Report Header and Footer in a New Report     182
"Houston, We Have a Problem"     185
Implementing a Base Report Template     186
The End Result     186
Integrating the Header Subreport and a New Base Report Template     186
Using Your New Base Report Template     196
Summary     197
Advanced Report Design with Crystal Reports     199
Implementing the Timesheet Report     200
The End Result     200
The Result Set     201
The Steps to Build It      202
Final Notes     219
Implementing the Gantt Chart     219
The End Result     219
The Result Set     220
The Steps to Build It     221
Implementing Dynamic images on a Customer Invoice     227
The End Result     227
The Result Set     228
The Steps to Build It     228
Implementing a Stacked Bar Chart     229
The End Result     229
The Result Set     230
The Steps to Build It     230
Implementing the Labor/Cost Report/Graph     234
The End Result     235
The Result Set     237
The Steps to Build It     238
Final Note: The Aging Receivables Report     242
Summary     242
Using ActiveReports for .NET     243
ActiveReports Basics     243
Creating Your First Reporting Application     243
Binding to the XML-XSD File     245
Simple ActiveReports Layout     247
Creating a Report Viewer     249
Building Header and Footer Subreports     251
Header/Footer Strategy     252
Creating the Header     252
The Timesheet Details Report      260
Creating Subtotals and Totals     263
Printing     265
Exporting     266
Summary     268
Using Microsoft SQL Server Reporting Services     269
What Is SQL Server Reporting Services?     269
SSRS Basics     269
Creating a Report Project     269
Configuring Your Project     270
Reporting Project Components     271
Accessing XML Data with SSRS     272
Accessing Data from a Static XML Data Source     272
Creating Your First Report     274
Examining the Report Designer     274
Creating an SSRS Dataset     277
Basic XML Query Syntax     278
Presenting Your Data     281
Deploying Your Project     284
Accessing Data from Web Services     285
Creating the Test Web Service     285
Creating the Data Source     289
Basic Web Service Syntax     290
Understanding SOAP Request and Response Packets     291
Parameter Query Syntax     293
Summary     297
Recommended Reading     297
Integrating the Reporting Tool with the Application      299
Begin with the End in Mind: Your Final Result     299
Using the Crystal Reports .NET Object Model     300
The ReportDocument Object Model     301
Building a Generic Crystal Reports .NET Library     314
The Generic Report Manager: ccCrystalManager     315
Report Header/Footer Data Objects: ccReportInfo     321
The Generic Print Options Form: ccCrystalPrintOptionForm     322
The Generic Report Preview Form: ccCrystalViewer     323
Miscellaneous Reporting Tasks     324
Determining the Current Executing Folder for Exporting to a Location     324
Loading Untyped Reports     325
Changing Report Authentication     325
Utilizing Your Library to Generate a Report     326
Building the Aging Receivables Report     326
The Final Results for the Aging Receivables Report     327
Summary     339
Recommended Reading     340
Building the Client Piece
Constructing the User Interface     343
Building Reusable Winforms Classes     343
Creating Winform Classes     346
Subclassing the Windows Forms Controls     349
Creating an Inherited Windows Form     355
Some Commentary on the Visual Studio Forms Designer     361
Building an Authentication Screen     362
Building the Layers, Redux     364
Creating a Report Options Screen     382
Creating a Reusable Record Selection Screen     383
Creating a Reusable Footnote Entry Screen     391
Building Your Report Options Screen     391
Viewing Previously Saved PDF Files     398
Summary     400
Building Report Output Using Microsoft PowerPoint     401
Introducing PowerPointTools     401
Creating PowerPointTools: Begin with the End in Mind, Times Two!     402
An Overview of PowerPointTools     402
Adding COM References to the PowerPoint and Excel Object Models     403
The Source Code for PowerPointTools     405
Using PowerPointTools     418
Creating an Instance of PowerPointTools     418
Starting a New Presentation with a Template and a Title Page     419
Creating a Text-Only Slide with a Title and a Set of Bullet Points     422
Building an Excel Table to Be Used As the Source of a PowerPoint Table     424
Creating a Slide That Displays an Excel Table     426
Building an Excel Table to Be Used As a Source of an Excel Chart Object     428
Setting Animations and Slide Transitions     438
Defining Slide Footer Information     439
Saving the Presentation     440
Closing Excel     440
When in Doubt, Use Office Macros!     440
Summary     442
Client Specs     445
Timesheet Report     445
Construction Job Summary/Profit Report     446
Project Timeline (Gantt) Chart     448
Client invoice     448
Aging Receivables Report     449
Combination Report/Graph of Labor and Costs     450
Stacked Bar Chart Showing Labor/Costs by Month     452
Construction Job Profile Report     453
Database Schema     455
Database Schema     455
Categories of Data     461
Employees and Rates and Rate Types     461
Overhead Rates     461
Construction Job Master Data     462
Timesheet/Labor Data     463
Material Purchases     463
Jobs and Invoices and Invoice Receipts     464
Technical Roadmap and Reference     465
Application Component Reference     465
The Common Ground Framework Library     465
The Construction Demo Solution     471
Class Library Project: ConstructionDemo.Business     472
Class Library Project: ConstructionDemo.DataAccess     473
Windows Application Project: ConstructionDemo.RemotingServer     475
Class Library Project: ConstructionDemo.CrystalReports     475
Class Library Project: ConstructionDemo.Datasets     476
Class Library Project: ConstructionDemo.Interfaces     476
Class Library Project: ConstructionDemo.WebServices     477
Main Windows Application: ConstructionDemo.Client.Winforms     478
Some Final Notes     478
Setting Project Dependencies     478
Alternative Approaches     479
Handling Master Tables     480
Looking at the User Interface     480
Index     485
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)