创建报表
对大多数应用,标准的报表向导应该能帮助完成一个报表的最初创建。要 启动向导,只需要打开 Crystal Reports 并且从 File 菜单中选择 New > Standard Report 选项。 向导首先要求提供一个数据源,如果使用 GBase ODBC 作为数据源,选择该 项。如果使用一个保存的 DataSet,就选择 ADO.NET (XML)选项并浏览保存的数 据集。剩下的报表创建过程由向导自动完成。 报表创建之后,选择 File 菜单中的 Report Options...菜单项,取消 Report 选项的 Save Data 部分,这样可以避免保存的数据干扰应用程序中的数据加载 操作。
显示报表
下面的步骤使用.NET WinForm 应用程序显示报表,显示报表前,需使用 5.9.2 的步骤生成报表文件 world_report.rpt。
1) 在工程项目中引用用于显示报表的组件
CrytalDecisions.CrystalReports.Engine CrystalDecisions.ReportSource CrystalDecisions.Shared CrystalDecisions.Windows.Forms
2) 在用户界面上拖放一个 Viewer 控件 3) 在代码中引用水晶报表命名空间
CrystalDecisions.CrystalReports.Engine
4) 使用 GBaseConnection 创建连接对象 5) 使用 GBaseCommand 创建命令对象 6) 使用 GBaseDataAdapter 创建适配器对象 7) 使用 ReportDocument 创建报表对象 8) 使用 DataSet 创建数据集对象 9) 建立命令对象与连接对象的关系 10) 设置命令对象的 CommandText 属性,指明查询语句 11) 从数据源中获取数据后使用适配器对象填充到数据集 12) 使用报表对象加载 world_report.rpt 文件 13) 设置报表对象的数据源为数据集对象 14) 设置 Viewer 空间的报表源为报表对象
15) 显示在界面上
C# 示例: using CrystalDecisions.CrystalReports.Engine; using System.Data; using GBase.Data.GBaseClient; ReportDocument gsReport = new ReportDocument(); DataSet gsData = new DataSet(); GBaseConnection conn; GBaseCommand cmd; GBaseDataAdapter gsAdapter; conn = new GBaseConnection(); cmd = new GBaseCommand(); gsAdapter = new GBaseDataAdapter(); conn.ConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test;"; try { cmd.CommandText = "SELECT city.name AS cityName, city.population AS CityPopulation, " + "country.name, country.population, country.continent " + "FROM country, city ORDER BY country.continent, country.name"; cmd.Connection = conn; gsAdapter.SelectCommand = cmd; gsAdapter.Fill(gsData); gsReport.Load(@".\world_report.rpt"); gsReport.SetDataSource(gsData); gsViewer.ReportSource = gsReport;
} catch (GBaseException ex) { MessageBox.Show(ex.Message, "Report could not be created", MessageBoxButtons.OK, MessageBoxIcon.Error); }




