FastReport中国社区FastReport联系电话 联系电话:023-68661681

FastReport.Net 报表连接数据库

来源:   发布时间:2016-08-08   浏览:3589次

通常开发人员在学习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(); } }

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

运行报表

正如从文章中所说的那样,将报表连接到数据是非常容易的事情,你可以连接报表到任意的数据库,如果需要,你可以传输连接字符串到报表。当用户选择的是本地驱动器的数据库时,这就再方便不过了。

方便您查看文中代码请查看:https://www.evget.com/article/2016/5/10/24056.html

产品视频资源等请查看>>

获取更多产品信息请咨询>>

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/1272.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


扫码咨询
电话咨询
023-68661681
返回
顶部