如何在Crystal Report中使用Sql查询?

时间:2013-06-22 08:17:49

标签: .net ado.net crystal-reports

好的我想创建一个Crystal报表,我想使用Sql查询。我知道我想要使用的SQL查询但是如何在Crystal报表中使用它们? 水晶报告的数据来自数据库,我正在使用过滤,但我需要使用文本框中的值作为我的查询中的“位置”。那我该怎么做? 我是Dot Framework的初学者。

1 个答案:

答案 0 :(得分:0)

好的,让我们看看如何在VB.NET中实现这一目标。

(如果您使用的是大于2008的Visual Studio.NET版本,请首先下载并安装Crystal Reports,因为它未嵌入。)

打开Visual Studio.NET。单击,文件 - >创建一个新的WindowsForms应用程序。新项目 - > Visual Basic - Windows窗体应用程序。对于Visual Studio.NET 2010,您必须将项目的.NET Framework更改为.NET Framework 4(而不是客户端配置文件),以便可以在“工具箱”的“报告”选项卡中找到Crystal Reports Viewer。从工具箱中拖放TextBox,Button和CrystalReportsViewer到表单上。前两个位于“公共控件”选项卡中,第三个位于“报告”选项卡中。要创建报告文件,请单击项目 - >添加新项并选择Crystal Reports。之后将出现Crystal Reports图库窗口(如果没有,则双击解决方案资源管理器中的报告文件)。选择向导或空白报告。

要为查询创建参数,请按照此处http://www.youtube.com/watch?v=BHNHsIUbcn8所示的相同方式执行此操作。在报告文件中创建参数化查询后,通过在解决方案资源管理器中双击该表单返回该表单并按F7进入代码视图。在表单的类中添加以下代码。

Dim Report1 As New CrystalReport1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Report1.SetDatabaseLogon("Username", "Password")
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Report1.SetParameterValue("ParameterName", TextBox1.Text)
    CrystalReportViewer1.ReportSource = Report1
End Sub

将“用户名”和“密码”替换为数据库的凭据,将“ParameterName”替换为您在{?ParameterName}内的Crystal Report中添加的参数。