一、前言
水晶报表入门示例,万事开头难,入门之后再深入即可。
环境
vs2015
win10Oracle11g
二、新建Windows窗体应用程序
1.项目说明
新建项目,Form1添加Button组件,Form2中添加CrystalReportViewer组件,新建水晶报表。
Button1_Click事件打开Form2,Form2中Form2_Load方法加载水晶报表。
2.添加水晶报表
添加水晶报表到项目
设置数据库专家
配置Oracle服务器
拖动字段到水晶报表中
三、源码
Form1.vb
Imports System
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As New Form2
f2.Show()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
Form2.vb
Imports System
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'方式1:使用项目中的报表
Dim r As New CrystalReport1
'方式2:使用项目外的报表
'Dim r As New ReportDocument()
'r.Load("D:\vb_demo\vs2015_demo\vs2015_demo\Resources\r.rpt")
Dim c As New ConnectionInfo()
c.ServerName = "orcl"
c.UserID = "scott"
c.Password = "root"
Dim t As New TableLogOnInfo()
t.ConnectionInfo = c
For Each table As Table In r.Database.Tables
table.ApplyLogOnInfo(t)
'table.Location = CType("SCOTT.DEPT", String)
Next
r.SetDatabaseLogon("SCOTT", "root", "orlc", "", True)
CrystalReportViewer1.ReportSource = r
CrystalReportViewer1.Refresh()
CrystalReportViewer1.Show()
End Sub
End Class
四、测试
正常运行示例