FastReport.Net 报表连接数据库

通常开发人员在学习FastReport .Net时出现的第一个问题就是:如何将数据连接到报表中?幸运的是,该报告生成器有一个直观的界面设计器。为节省您的时间,我将简单谈论一下在报表中连接数据源。接下来我将为您展示如何从用户应用程序中传递连接字符串。所以,本文分为两部分:在报表中连接数据库和将连接字符串传递到报表。

在报表中连接数据库

1、有2种方式将新的数据源添加到报表中:
  • 通过工具栏上“报表”选项卡图标;

  • 从“数据”窗口中的Actions下拉菜单中;


让我们看一个例子。创建数据源。在打开的窗口中,选择新的连接。可以选择不同类型的连接,以连接到数据库。这里采用MS Access connection。

进一步选择我们要工作的表单。你可以可以选择使用SQL查询的数据(没有XML数据库)。为此有一个查询生成器,你需要手动撰写需求。

下一步,设置查询的参数;接下来重写列的数据类型。

我选择了2张表:员工表和订单。它们有字段EmpNo绑定,要做到这一点,打开“数据”的Action菜单,选择新的关系。

父表是员工,子表是订单。绑定EmpNo字段。

我们为什么这样做?现在我们可以为每个雇员显示一个订单列表。创建一个简单的报表模板:

这里的带(band)“数据”包含详细的带“数据”。

正如我们可以看到的:第一个显示雇员的名字,第二个显示的是一些订单数据。

详细的带数据可以从“上下文”菜单中添加,或者通过带配置窗口(配置带)来添加:

如果我们双击第一个带“数据”,我们将看到表名雇员被选为数据源,第二个带“数据”为订单。当你将字段添加到空的带时,数据源会自动选择,当然你也可以改为手动。

如果不设置数据源,则不显示数据。更确切地说,只是第一行的数据添加字段。保存报表。

2、从应用程序中传递连接字符串到报表

创建窗体应用程序。从FastReport .NET标签向窗体添加报表组件和按钮:

从应用程序中传递连接字符串到报表。

首先,你需要稍微修改先前创建报表。打开它的设计器。

创建报表参数。我们会给它一个连接字符串。在“数据”窗口中查找项目参数。右键点击它-新参数。在“属性”窗口中,设置参数名称-conn。

现在选择“数据”窗口中的连接,接下来在“属性”窗口中,找到ConnectionStringExpression并添加到我们的参数。修改报表完成,保存并返回到程序。

双击按钮运行。在按钮的事件处理程序添加的主要应用程序代码:
private string ReportPath = Environment.CurrentDirectory + "/ConnectionFromApp.frx";
private string DBPath = Environment.CurrentDirectory + "/demo.mdb";
private string ConnStr;


在主要操作之前,我们声明一个变量来存储报表路径和数据库。
private void RunBtn_Click(object sender, EventArgs e)
  
 {
  
 using (Report report = new Report())
  
 {
  
 report.Load(ReportPath);
  
 ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBPath + ";User ID=Admin";
  
 report.SetParameterValue("conn", ConnStr);
  
 report.Show();
  
 }
  
 }


点击按钮创建一个报告实例。然后加载该报告,指定连接字符串变量的值,指定连接字符串的报表参数值,并运行该报表。

正如从文章中所说的那样,将报表连接到数据是非常容易的事情,你可以连接报表到任意的数据库,如果需要,你可以传输连接字符串到报表。当用户选择的是本地驱动器的数据库时,这就再方便不过了。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值