C#使用水晶报表详细教程
需积分: 40 159 浏览量
更新于2024-09-18
1
收藏 7KB TXT 举报
“C#水晶报表操作实例 - 使用C#在Visual Studio 2005中进行水晶报表的详细实例,包括PULL和PUSH两种数据填充模式。”
在C#编程中,水晶报表(Crystal Reports)是一种强大的报表设计工具,常用于生成复杂的业务报告。这个实例主要介绍了如何在VS2005环境下利用C#与水晶报表进行交互。水晶报表支持两种数据填充模式:PULL(拉取)和PUSH(推送)模式。
1. PULL(拉取)模式:
在这种模式下,报表引擎负责从数据源获取数据。开发者需要在SQL语句中使用参数化查询,例如`Select T1, T2, T3 FROM T Where T1 = '{?parm}'`,这里的`{?parm}`是一个参数占位符,通过`SetParameterValue`方法设置参数值。以下是一个简单的示例代码:
```csharp
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
protected void Button_pull_Click(object sender, EventArgs e)
{
// 加载报表文件
CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));
// 设置数据库登录信息,包括用户名、密码、服务器名和数据库名
CrystalReportSource1.ReportDocument.SetDatabaseLogon("sa", "123456", @"SYWZSWL\SQLEXPRESS", "Test");
// 设置参数值
CrystalReportSource1.ReportDocument.SetParameterValue("Title", "һԱ");
}
```
2. PUSH(推送)模式:
与PULL模式不同,PUSH模式是将数据集(DataSet)直接推送到报表,而不是由报表引擎执行SQL查询。这种方式适用于已经处理过数据或需要在代码中控制数据流的情况。以下是一个简单的示例:
```csharp
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
protected void Button_push_Click(object sender, EventArgs e)
{
// 创建数据库连接
SqlConnection conn = new SqlConnection("Data Source=SYWZSWL\SQLEXPRESS;Initial Catalog=Test;User ID=sa;Password=123456");
conn.Open();
// 执行SQL查询并填充数据集
SqlCommand cmd = new SqlCommand("SELECT * FROM Table WHERE Column = @Parm", conn);
cmd.Parameters.AddWithValue("@Parm", "Value");
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
// 关闭数据库连接
conn.Close();
// 加载报表并设置数据源
ReportDocument report = new ReportDocument();
report.Load(Server.MapPath("CrystalReport.rpt"));
report.SetDataSource(dataSet);
// 显示报表
CrystalReportViewer1.ReportSource = report;
}
```
在Web应用中,通常会使用`CrystalReportSource`和`CrystalReportViewer`控件。`CrystalReportSource`用于设置报表的来源,而`CrystalReportViewer`则用于在网页上显示报表。在FORM应用中,可以直接创建`CrystalReport`对象并设置其`ReportSource`属性来显示报表。
这个实例提供了C#操作水晶报表的基础知识,包括如何加载报表文件、设置数据库登录信息、参数化查询以及在PULL和PUSH模式下填充数据。这有助于开发者理解和实现自定义的报表功能。
390 浏览量
271 浏览量
2009-03-07 上传
130 浏览量
2009-05-01 上传
119 浏览量
点击了解资源详情
275 浏览量
勿勿
- 粉丝: 209
最新资源
- Visual Basic 2005入门经典教程:全球畅销编程教材
- Struts快速入门:基于实战教程与MVC框架详解
- Java语言基础:标识符、保留字与数据类型解析
- OKI半导体语音合成芯片ML22808/ML22804/ML22802特性与应用
- JSP内置对象详解:page、config与request
- Oracle PL/SQL 10g 用户指南与参考手册
- 谭浩强C语言第3版精华概览
- 2003网络环境管理:数据库实验-数据完整性与视图操作
- C99标准详解:编程语言C的关键特性与环境规定
- Windows文件系统过滤驱动实战教程:从入门到精通
- 活动目录2.0设计与测试:MSA2.0规划指南详解
- ID-1型带触点集成电路卡技术要求-ISO7816中文标准
- Java设计模式详解:经典23种模式应用
- HP刀片系统:利用USB Key快速安装Windows2003指南
- C8051F020中文数据手册:混合信号ISP FLASH微控制器详解
- 联想Vista转XP安装教程:特别适应OEM系统