水晶报表,我实在是找不到原因了,大家帮我急急~~~~~~~~~~~~~~~~~~~~~~~
Dim cnn As SqlConnection
cnn = New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("testa"))
cnn.Open()
Dim MyCommand As SqlDataAdapter
Dim ds As New Dataset1
Dim rpt As New CrystalReport1
MyCommand = New SqlDataAdapter("select * from stores", cnn)
MyCommand.Fill(ds)
rpt.SetDataSource(ds)
CrystalReportViewer1.ReportSource = rpt
CrystalReportViewer1.DataBind()
我数据绑定了,为什么不行???
问题点数:0、回复次数:3Top
1 楼zhengjianning402(士林儿)回复于 2003-10-04 13:02:52 得分 0
Imports System
Imports System.Data.OleDb
Imports System.IO
Imports Microsoft.Web.UI.WebControls
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Web
Imports System.Web.UI.WebControls
Dim cmd As OleDb.OleDbCommand
Dim ddr As OleDb.OleDbDataReader
Dim da As OleDb.OleDbDataAdapter
Dim ds As New DataSet()
Dim rptdoc As New ReportDocument()
Dim conn As New OleDb.OleDbConnection()
puc.OpenConn(conn)
Dim bblj As String = "D:\hrm\bdzgl\Report\blqdzjl_report.rpt"
Dim sjybm As String = "blqdzjl_report"
Dim strsql As String = "select ID,ASWZ,JLSJ,ja,jb,jc,jo,la,lb,lc,lo,JLR from T_BDZGL_BLQDZ"
da = New OleDb.OleDbDataAdapter(strsql, conn)
da.Fill(ds, sjybm)
rptdoc.Load(bblj)
Try
rptdoc.SetDataSource(ds.Tables(sjybm))
CrystalReportViewer1.ReportSource = rptdoc
CrystalReportViewer1.DataBind()
Catch ex As Exception
Response.Write(ex.Message)
Finally
ddr = Nothing
cmd = Nothing
da = Nothing
ds = Nothing
End Try
conn.Close()
conn = Nothing
这个例子你看一下,我试过了,都可以的Top
2 楼haibodotnet(海波.NET)回复于 2003-10-04 13:18:24 得分 0
我们采用下面的几步使用Push模式执行水晶报表:
1. 设计一个DataSet
2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。
3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
4. 在代码中访问数据库并把数据存入DataSet
5. 调用DataBind方法。
设计一个DataSet
1) 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”
2) 从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。
3) 此时在数据集中就会有一个Stores表的结构图。
- .xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。
创建 .rpt 文件 :
4) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。
5)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“
6) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。
7) 将”Stores"表添加到“选定的表”中,点击“OK”
8) 使用PULL模式下的方法,建立一个WebForm
建立一个Crystal Report Viewer 控件
9) 建立一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。
Code Behind 代码:
10) 在Page_Load方法中使用下面的子函数:
VB.Net代码:
Sub BindReport()
Dim myConnection As New SqlClient.SqlConnection()
myConnection.ConnectionString= "server= (local)\NetSDK;database=pubs;Trusted_Connection=yes"
Dim MyCommand As New SqlClient.SqlCommand()
MyCommand.Connection = myConnection
MyCommand.CommandText = "Select * from Stores"
MyCommand.CommandType = CommandType.Text
Dim MyDA As New SqlClient.SqlDataAdapter()
MyDA.SelectCommand = MyCommand
Dim myDS As New Dataset1()
'这就是我们在设计模式上使用的DataSet
MyDA.Fill(myDS, "Stores")
'你不得不使用与你前面DataSet相同名字。
Dim oRpt As New CrystalReport1()
' 水晶报表绑定
oRpt.SetDataSource(myDS)
' 设定水晶报表的ReportSource
CrystalReportViewer1.ReportSource = oRpt
End Sub
C#代码:
private void BindReport()
{
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
CrystalReport1 oCR = new CrystalReport1();
Dataset1 ds = new Dataset1();
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from Stores";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"stores");
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
}
注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。如果你需要使用"UnTyped"报表,你得使用ReportDocument对象,然后再调用报表文件。
运行你的程序。
11) 运行你的程序Top
3 楼haibodotnet(海波.NET)回复于 2003-10-04 13:18:57 得分 0
大家一起到这里支持一下!!!
http://expert.csdn.net/Expert/TopicView1.asp?id=2291055
CSDN 开个 Crystal Report 版吧!!!&&&我与水晶报表……
haibodotnet 海波.NETTop




