65.9K
CodeProject 正在变化。 阅读更多。
Home

如何使用 C# 和 MySQL 创建 Crystal 报告

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.65/5 (31投票s)

2006年5月6日

CPOL

3分钟阅读

viewsIcon

478583

downloadIcon

3219

这是一个示例,指导您使用 C# 和 MySQL RDBMS 创建报表,Crystal Reports。

引言

本文是关于使用 Visual C#.NET 和 MySQL 创建 Crystal Reports 的。 我们都知道 MySQL 是一个开源 DBMS,而 .NET Framework 是免费的。 我们在开发某些项目时使用了 MySQL 和 Visual Studio .NET 2003,并借助 MySQL Connector .NET 1.05。 在本文中,我不会详细讨论如何使用 MySQL Connector .NET 1.05。 但是,在创建 Crystal Report 报表时遇到了一些困难,因为 Crystal Report 目前不支持直接连接到 MySQL。 在进行此类开发时,我也寻找过示例,但找不到。 这就是我撰写本文的原因 Code Project。

丹尼尔·布朗 说… "在使用 Crystal Reports 和 MySQL 近 2 年后,我可以告诉您,可以本地连接到 MySQL。

您需要安装 MyODBC ODBC 适配器,并在 Crystal 中使用 ODBC 连接器,您就可以使用 Crystal 提供的所有技术”。

但是在使用 MyODBC ODBC 适配器时,我对 Unicode 字符存在一些问题。

创建一个 DataSet,这是设计报表的关键

如上所述,Crystal Report 不允许我们连接到数据源(MySQL),并且我们无法在 Crystal Report 的运行时构建报表。 因此,要设计报表,第一步是创建一个 DataSet,描述您要在报表中显示的数据。

要创建一个 Dataset,您需要在“项目”菜单中单击“添加新项目”。 添加的 Dataset 的图片如下所示,您可以通过从工具箱中拖放元素来将元素添加到 Dataset 中。 您将通过使用查询将数据从数据库填充到此 Dataset。 (注意:此 Dataset 中元素的名称必须与查询中指定的列名相同。)以下代码使用 MySQL Connector .NET 1.0.5 对象来填充 DataSet。

MySqlConnection conn; 
MySqlCommand cmd; 
MySqlDataAdapter adap; 

// Code to get data from database 
conn = new MySqlConnection("Server=localhost; Database=saf; 
	User ID=root; Password=root; charset=utf8;"); conn.Open(); 
cmd = conn.CreateCommand(); 
cmd.CommandText = "SELECT customer_code, 
	customer_name, customer_address FROM Customers"; 
// Create a Dataset and using DataAdapter to fill it 
adap = new MySqlDataAdapter(); 
adap.SelectCommand = cmd; 
CustomerDS custDB = new CustomerDS(); 
custDB.Clear(); 
adap.Fill(custDB, "Customers"); 

使用 Crystal Report 设计报表

现在您已经创建了 Dataset,我们可以使用它来使用从数据库中获取的数据填充报表。 正如我之前所说,您可以通过在“项目”菜单中单击“添加新项目”将 Crystal Report 添加到项目中。 然后将出现以下窗口,您可以选择您的选项并单击“确定”。

在我的简单项目中,我使用 Report Expert 并选择标准。 在下一个窗口中,我从 ProjectData \ ADO.NET DataSets 中选择我之前的 Dataset。

选择要在报表中显示的表和字段后,您将拥有一个如下所示的报表。 此时,您可以根据需要设计报表界面。

在表单中显示报表

到目前为止,您已经拥有了基本组件。 然后您将为 Crystal Report Viewer 控件设置报表源属性以显示报表。 您可以使用以下代码设置报表源
// Create a CrystalReport1 object 
CrystalReport1 myReport = new CrystalReport1(); 
// Set the DataSource of the report 
myReport.SetDataSource(custDB); 
// Set the Report Source to ReportView 
crystalReportViewer1.ReportSource = myReport; 

之后,您可以启动您的应用程序并查看报表。

附加信息

要使用此示例,您需要在 https://dev.mysqlserver.cn/downloads/connector/net/1.0.html 中下载并安装 MySQL Connector .NET 1.0.5。
关于本文,您可以将任何问题发送到 lequanganh.aiti@gmail.comleadershipqa@yahoo.com. 我将向您发送您在开发过程中所需的任何信息。

关于黎光英

黎光英
AiTi-APTECH 计算机教育
塑造您的未来
35/115 Dinh Cong str - Hoang Mai dis - 河内市
网站:
 www.aiti-aptech.edu.vn
邮箱: contact@aiti-aptech.edu.vn
论坛: forum.aiti-aptech.edu.vn

你能听到音乐吗… 

说它感觉这次是对的
把它转过来,找到了正确的路线
“今天是个好日子,先生
今天是个好日子”,他说。

“No Leaf Clover” --- Metallica

© . All rights reserved.