將數據推入報表,不使用數據集
Dim conn As SqlConnection
Dim da As SqlDataAdapter
Dim strSQL As String conn = New SqlConnection()
conn.ConnectionString = "User ID=sa; PWD=1234;Data Source=xxxx; Initial Catalog =xxxxx"
conn.Open() strSQL = "Select * from TableName" '如果數據表與其他數據表有關聯,則此處需使用Select * From TableName
da = New SqlDataAdapter(strSQL, conn)
Dim ds As New DataSet()
da.Fill(ds, "TableName") '此處一定要加TableName,否則抽取不到數據
Dim RptDoc As New SqlReportName() 'SqlReportName為你製作的以SQL Server為數據源的報表名
RptDoc.SetDataSource(ds) ' 給RptDoc 指定數據, 不能寫成ds.Tables(0) 或ds.Tables("tableName")
CrystalView1.ReportSource = RptDoc '給CrystalView指定數據
CrystalView1.DataBind()
conn.Close()
Dim conn As SqlConnection
Dim da As SqlDataAdapter
Dim strSQL As String conn = New SqlConnection()
conn.ConnectionString = "User ID=sa; PWD=1234;Data Source=xxxx; Initial Catalog =xxxxx"
conn.Open() strSQL = "Select * from TableName" '如果數據表與其他數據表有關聯,則此處需使用Select * From TableName
da = New SqlDataAdapter(strSQL, conn)
Dim ds As New DataSet()
da.Fill(ds, "TableName") '此處一定要加TableName,否則抽取不到數據
Dim RptDoc As New SqlReportName() 'SqlReportName為你製作的以SQL Server為數據源的報表名
RptDoc.SetDataSource(ds) ' 給RptDoc 指定數據, 不能寫成ds.Tables(0) 或ds.Tables("tableName")
CrystalView1.ReportSource = RptDoc '給CrystalView指定數據
CrystalView1.DataBind()
conn.Close()
然後在程序中將數據推入報表中,這樣靈活性較大
如果為數據不變的報表
則可以
CrystalView1.ReportSource = "C:\Inetpub\wwwroot\TestTestCrpB\ReportName.rpt"
CrystalView1.DataBind()
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared必須引入命名空間
Imports System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
at last coding to use sp and dataset