水晶报表绑定多个数据表
水晶报表绑定到dataset,dataset中包含多个datatable,运行时,总是跳出数据库登入提示,
trvdata tr = new trvdata();
DataSet ds = new DataSet();
DataSet dssource = new DataSet();
string sql=" select W.WO_ID, R.ITEM_ID, R.ROUTE_ID, R.QTY, R.RC_DESC,R.MONOMER, R.RC_ID, P.POWER,R.CREATE_USER, R.DUEDATE FROM WORKING_ORDER AS W JOIN RUNCARD AS R ON W.WO_ID = R.WO_ID JOIN PROD_CODE AS P ON R.RC_ID=P.RC_ID WHERE W.WO_ID LIKE 'DJ2509AA2460%'and W.CREATE_DATE like ";
sql += " '2009/12/03%' AND PATINDEX ( '%-%' , R.RC_ID ) = 0 ";
ds = tr.coomn(sql, "runcard", "m");
DataTable db = new DataTable();
dssource.Tables.Add(ds.Tables[0].Copy());
sql = " select CHECK_IN_QTY, CHECK_OUT_QTY, substring(CHECK_IN_TIME ,1,10) as CHECK_IN_TIME, substring(CHECK_OUT_TIME ,1,10) as CHECK_OUT_TIME, RC_ID, ";
sql += " TRACK_INFO.RCOP_ID from TRACK_INFO join ( select RCOP_ID , MAX(TRACKING_ID) as T_ID from TRACK_INFO where WO_ID in ( SELECT WO_ID FROM WORKING_ORDER ";
sql += " WHERE WO_ID LIKE 'DJ2509AA2460%' AND CREATE_DATE like '2009/12/03%') group by RCOP_ID) as TRACK on TRACK_INFO.TRACKING_ID=TRACK.T_ID";
ds = tr.coomn(sql, "track_info", "m");
dssource.Tables.Add(ds.Tables[0].Copy());
sql += " SELECT W.WO_ID, ATTR_FUNC.FUNC, ATTR_CUP.CUP, ATTR_AQUA.AQUA FROM WORKING_ORDER AS W JOIN ( SELECT WO_ID, WO_ATTR_VAL AS FUNC";
sql += " FROM WO_ATTR WHERE WO_ATTR='產品功能' ) AS ATTR_FUNC ON ATTR_FUNC.WO_ID = W.WO_ID JOIN ( SELECT WO_ID, WO_ATTR_VAL AS ";
sql += " CUP FROM WO_ATTR WHERE WO_ATTR='封包方式') AS ATTR_CUP ON ATTR_CUP.WO_ID = W.WO_ID JOIN ( SELECT WO_ID, WO_ATTR_VAL AS ";
sql += " AQUA FROM WO_ATTR WHERE WO_ATTR='緩衝液') AS ATTR_AQUA ON ATTR_AQUA.WO_ID = W.WO_ID WHERE W.WO_ID LIKE 'DJ2509AA2460%' AND ";
sql += " W.CREATE_DATE LIKE '2009/12/03%' ";
ds = tr.coomn(sql, "wo_attr", "m");
dssource.Tables.Add(ds.Tables[0].Copy());
sql+=" select OP_ID, OP_NAME from OPERATION where ROUTE_ID in ( SELECT distinct ROUTE_ID FROM WORKING_ORDER WHERE WO_ID LIKE 'DJ2509AA2460%' AND CREATE_DATE ";
sql += " like '2009/12/03%') ";
ds = tr.coomn(sql, "rc_op", "m");
dssource.Tables.Add(ds.Tables[0].Copy());
crsreports.Dsruncard prRuncard = new Dsruncard();
prRuncard.SetDataSource(dssource);
this.rccrs.ReportSource = prRuncard;
请大侠给点提示,多谢!