rv.LocalReport.ReportEmbeddedResource = "c_report.bd5.rdlc"; rv.LocalReport.DataSources.Clear(); ClassMyData.DbSystem db = new ClassMyData.DbSystem(); DataSet ds = db.GetDataSet("SELECT * FROM v_rep_bd5 WHERE cPici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); //设置数据源 rv.LocalReport.DataSources.Add(new ReportDataSource("myds", ds.Tables[0])); //增加参数 string pici2 = ""; string cdate = ""; string qingxi = ""; string jixiu = ""; string jianc = ""; pici2 = ""; pici2 = db.GetValue("SELECT cpici2 FROM v_canshutable WHERE bd_autoid=45 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); cdate = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=44 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); try { cdate = Convert.ToDateTime(cdate).ToShortDateString(); } catch { cdate = DateTime.Now.ToShortDateString(); } qingxi = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=45 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); jixiu = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=46 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); jianc = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=47 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); string title = db.GetValue("SELECT cParaDefName FROM tb_paraDefine WHERE cParaFileID='" + this.Name + "'"); ReportParameter t1 = new ReportParameter("title", title); ReportParameter rp1 = new ReportParameter("pici2", pici2); ReportParameter rp2 = new ReportParameter("cdate", cdate); ReportParameter rp3 = new ReportParameter("qingxi", qingxi); ReportParameter rp4 = new ReportParameter("jixiu", jixiu); ReportParameter rp5 = new ReportParameter("jianc", jianc); rv.LocalReport.SetParameters(new ReportParameter[] { rp1, rp2,rp3,rp4,rp5,t1 }); //打开报表 rv.RefreshReport();
谢谢楼上的哥们!我要是直接连接sql server2008没有问题!都可以,但是现在项目架构好了,通过linq web service 来连接数据库,其实不用连接,直接调用就可以了 我的代码是这样的:this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.ReportEmbeddedResource ="Print_report_module.print_per_addBooks.rdlc";
rv.LocalReport.ReportEmbeddedResource = "c_report.bd5.rdlc";
rv.LocalReport.DataSources.Clear();
ClassMyData.DbSystem db = new ClassMyData.DbSystem();
DataSet ds = db.GetDataSet("SELECT * FROM v_rep_bd5 WHERE cPici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'");
//设置数据源
rv.LocalReport.DataSources.Add(new ReportDataSource("myds", ds.Tables[0])); //增加参数
string pici2 = "";
string cdate = "";
string qingxi = "";
string jixiu = "";
string jianc = "";
pici2 = "";
pici2 = db.GetValue("SELECT cpici2 FROM v_canshutable WHERE bd_autoid=45 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); cdate = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=44 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); try
{
cdate = Convert.ToDateTime(cdate).ToShortDateString();
}
catch
{
cdate = DateTime.Now.ToShortDateString();
}
qingxi = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=45 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); jixiu = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=46 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'"); jianc = db.GetValue("SELECT cvalue1 FROM v_canshutable WHERE bd_autoid=47 and cpici='" + _pici + "' AND cParaFileID='" + _cParaFileID + "'");
string title = db.GetValue("SELECT cParaDefName FROM tb_paraDefine WHERE cParaFileID='" + this.Name + "'");
ReportParameter t1 = new ReportParameter("title", title); ReportParameter rp1 = new ReportParameter("pici2", pici2);
ReportParameter rp2 = new ReportParameter("cdate", cdate);
ReportParameter rp3 = new ReportParameter("qingxi", qingxi);
ReportParameter rp4 = new ReportParameter("jixiu", jixiu);
ReportParameter rp5 = new ReportParameter("jianc", jianc);
rv.LocalReport.SetParameters(new ReportParameter[] { rp1, rp2,rp3,rp4,rp5,t1 }); //打开报表
rv.RefreshReport();
我的代码是这样的:this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.ReportEmbeddedResource ="Print_report_module.print_per_addBooks.rdlc";
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("EmployeeInfo", PcurrentEmployeeInfo.ToList()));
this.reportViewer1.RefreshReport();
"EmployeeInfo"这是表名
PcurrentEmployeeInfo.ToList()这是数据集
如果在datagridview中邦定的话就这样写:DataGridView1.DataSource = PcurrentEmployeeInfo
然后数据表格控件就可以列表显示数据了,当然要指定列为各个字段名.
但是,我在report中指定了字段名,但是就不能载入到reportview中提示找不到没有设置数据集.
不知为何!郁闷.