使用水晶报表,动态设置数据源,但是数据不能显示,是什么问题?
代码如下:
 private void Form2_Load(object sender, EventArgs e)
        {
            string sql = "select * from Employees";
            string DBConfig_sql = @"Data Source=GRITH2O\SQL2000;Initial Catalog=northwind;User ID=sa;Password=sa";
            DataSet ds = new DataSet();
            SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
            SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
            SqlDataAdapter sqlAd = new SqlDataAdapter();
            sqlAd.SelectCommand = sqlCmd;
            sqlAd.Fill(ds, "Employees");
            this.CrystalReport11.Load(Application.StartupPath + "CrystalReport.rpt");            CrystalReport11.SetDataSource(ds.Tables["sql"]);
            //{?}中的参数可以不用赋值,即使赋了值也不起作用。
            // CrystalReportSource1.ReportDocument.ParameterFields["Parm"].CurrentValues.AddValue("1234567");
          //  crystalReport1.ParameterFields["Title"].CurrentValues.AddValue("这时推模式的报表样例!");            this.crystalReportViewer1.ReportSource = CrystalReport11;
        }请各位大侠指点!

解决方案 »

  1.   

    第一个你的连接没有打开,sqlCon .Open();SqlCommand sqlCmd = new SqlCommand(sql, sqlCon); 
    还有你的CrystalReport11.SetDataSource(ds.Tables["sql"]); 中的sql是那里的哟。。应该为Employees吧。
      

  2.   

    CrystalReport11.SetDataSource(ds.Tables["Employees"]); 
      

  3.   


    完全正确,你把数据插入到Employees表,但是bind CrystalReport你用的 是sql 表
      

  4.   

    第一个你的连接没有打开,sqlCon .Open();SqlCommand sqlCmd = new SqlCommand(sql, sqlCon); 
    还有你的CrystalReport11.SetDataSource(ds.Tables["sql"]); 中的sql是那里的哟。。应该为Employees吧。
      

  5.   

    CrystalReport11.SetDataSource(ds.Tables["sql"]); 
    换成
    CrystalReport11.SetDataSource(ds.Tables[sql]); 
    试试?
      

  6.   

    sqlCon .Open();
    CrystalReport11.SetDataSource(ds.Tables["Employees"]); 
      

  7.   

    CrystalReport11.SetDataSource(ds.Tables[0]);
    用0比较好了,DataSet中的表没有命名.
      

  8.   

     SqlDataAdapter sqlAd = new SqlDataAdapter(); 
    DataAdapter是可以自动管理连接开关的
    该变了名字也是不行CrystalReport11.SetDataSource(ds.Tables["Employees"]); 
    数据还是显示不出来 
      

  9.   

      private void Form2_Load(object sender, EventArgs e)
            {
                string sql = "select Employeeid from Employees";
                string DBConfig_sql = @"Data Source=GRITH2O\SQL2000;Initial Catalog=northwind;User ID=sa;Password=sa";
                DataSet1 ds = new DataSet1();
                SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
                sqlCon.Open(); 
                SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
                SqlDataAdapter sqlAd = new SqlDataAdapter();
                sqlAd.SelectCommand = sqlCmd;
                sqlAd.Fill(ds, "Employees");
                this.dataGridView1.DataSource = ds.Tables["Employees"];
                this.CrystalReport11.Load(@"E:\Projects\WindowsApplication1\WindowsApplication5\CrystalReport1.rpt");            CrystalReport11.SetDataSource(ds.Tables["Employees"]);            
                this.crystalReportViewer1.ReportSource = CrystalReport11;
            }数据集里有数据,但是在水晶报表里就是显示不出来
      

  10.   

    CrystalReport11.SetDataSource(ds); 
    引用的表你在画报表的时候已经引用了吧?直接设置就可以了。