We have just started porting our Windows products to C# on .Net and I am working the reports. I am designing on Crystal XI and our IDE is VS 2008. The product will reside on notebook computers that gets its data from a shared Sybase DB and will most likely disconnect -- great for DataSets.
What I do is create DataTables of columns necessary for the reports and design the Crystal reports by pointing to the ADO.NET XML file generated by VS 2008. Here is the problem:
I have a report that joins a few text tables. I define keys in the DataSet and Crystal automatically linked the tables the way I wanted. The report works great -- after about 4 or 5 minutes. My solution is to join the data into one report table (takes a couple of seconds using Sybase indexing), then running the report off of the single table. Is that the only way?
I tried the relationship objects in various ways without any change in performance. I am about to make the statement to the JAD that all reports should be designed from one DataTable. That costs some memory because of redundant text rows in the report table. Is that true or is there a way of indexing for fast joining in DataSets in Crystal or .Net?