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

解决方案 »

  1.   

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        BindReport()
        End Sub哪位大哥帮忙看一下这个:
    http://community.csdn.net/Expert/topic/3116/3116098.xml?temp=.9761927
    up一下也成,多谢了!
      

  2.   

    比如动态的连接数据库,应该可以用代码实现,一般在创建rpt文件时连接的数据库都会有一个Location, 只要代码里更改这个Location就可以,objCR.Database.Tables(1).Location=新的数据库。动态的绑定字段到报表字段,这个我没试过,通常都是在设计rpt文件时就放上去,其实所谓的动态绑定也是可以实现的,在rpt上放一个formula, 根据传进来的参数不同来显示不同的字段就可以