使用水晶报表,动态设置数据源,但是数据不能显示,是什么问题?
代码如下:
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;
}请各位大侠指点!
代码如下:
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;
}请各位大侠指点!
解决方案 »
- 两个richtextbox内容比较
- 用C#+winform,开发宿舍管理系统中《水电费管理》板块中遇到一个问题
- C#水波纹特效自定义控件
- EventHandler问题
- WPF里的MouseDown事件对左键按下不响应?
- string---string?
- 我又许多c#,net,framework的电子文档,请问有没有要的???
- 新手问题,进程问题
- List<Dictionary<string, string>> 如何绑定到datagrid中?
- 帮忙!
- 向高手请教:如何使数据访问层做到sql server 与oracle 通用??????????(急)
- 请教,C#中如何将截取的图片信息保存到数据库中去????
还有你的CrystalReport11.SetDataSource(ds.Tables["sql"]); 中的sql是那里的哟。。应该为Employees吧。
完全正确,你把数据插入到Employees表,但是bind CrystalReport你用的 是sql 表
还有你的CrystalReport11.SetDataSource(ds.Tables["sql"]); 中的sql是那里的哟。。应该为Employees吧。
换成
CrystalReport11.SetDataSource(ds.Tables[sql]);
试试?
CrystalReport11.SetDataSource(ds.Tables["Employees"]);
用0比较好了,DataSet中的表没有命名.
DataAdapter是可以自动管理连接开关的
该变了名字也是不行CrystalReport11.SetDataSource(ds.Tables["Employees"]);
数据还是显示不出来
{
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;
}数据集里有数据,但是在水晶报表里就是显示不出来
引用的表你在画报表的时候已经引用了吧?直接设置就可以了。