C# 如何使用C在rdlc报表上显示来自两个不同数据源的记录#

C# 如何使用C在rdlc报表上显示来自两个不同数据源的记录#,c#,C#,请问我如何在rdlc报告中显示来自两个数据库的记录?我已经试过了,但它只显示第一个数据库中的记录 代码: 您的代码看起来不错,您是否尝试调试代码,并查看是否从第二个数据库中提取了任何记录并添加到gridRecords?是的,它提取了,刚刚发现其他数据集记录从第一个数据集记录停止的位置继续,我希望能够在同一行上显示记录。 private void FetchBydateAndBranch(string BranchCode, string StartDate, string EndDate

请问我如何在rdlc报告中显示来自两个数据库的记录?我已经试过了,但它只显示第一个数据库中的记录

代码:


您的代码看起来不错,您是否尝试调试代码,并查看是否从第二个数据库中提取了任何记录并添加到gridRecords?是的,它提取了,刚刚发现其他数据集记录从第一个数据集记录停止的位置继续,我希望能够在同一行上显示记录。
    private void FetchBydateAndBranch(string BranchCode, string StartDate, string EndDate)
    {
        List<MICRChequeBookRequest> gridRecords = new List<MICRChequeBookRequest>();

        string query = "";
        try
        {
            //string connectionStringPostoffice = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            string con = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            //con.Open();

            lblMsg.Text = "";
            query = "select a.foracid AccNumber,acct_name AccName,init_brnch InitiatingBranchCode,b.sol_desc " +
                "InitiatingBranch,collectn_brnch CollectingBranchCode,c.sol_desc CollectingBranch,nobook NoOFBookletsRequested, " +
                "no_of_leaves NoOfLeaves,a.rcre_time RequestInitiated,micr_gen_time MICRGenerated, micr_disp_time " +
                "MICRDISPATCHED,user_ack_time BRANCHACKNOWLEDGE FROM custom.chqreq a,tbaadm.gam,tbaadm.sol b,tbaadm.sol c " +
                "WHERE gam.foracid= a.foracid AND a.init_brnch = b.sol_id AND a.collectn_brnch =c.sol_id AND  " +
                "to_date(to_char(a.rcre_time,'dd-mon-yyyy'),'dd-mon-yyyy') between '" + StartDate + "' and '" + EndDate + "' " +
                "and b.sol_id in (select sol_id from tbaadm.sst where set_id= '" + "{0}' )";
            query = string.Format(query, BranchCode);

            using (OracleConnection connection = new OracleConnection(con))
            {
                DataTable dt = new DataTable();
                OracleCommand command = new OracleCommand(query, connection);
                command.CommandTimeout = 900000000;
                DataSet dataset = new DataSet();
                OracleDataAdapter adapter = new OracleDataAdapter(command);
                adapter.Fill(dataset);
                dt = dataset.Tables[0];

                lblNoRecord.Text = "Total record(s): " + dataset.Tables[0].Rows.Count.ToString();
                lblNoRecord.ForeColor = System.Drawing.Color.Green;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    MICRChequeBookRequest MICRCheq = new MICRChequeBookRequest();
                    MICRCheq.AccNumber = (dr["AccNumber"].ToString());
                    MICRCheq.AccName = (dr["AccName"].ToString());
                    MICRCheq.InitiatingBranch = (dr["InitiatingBranch"].ToString());
                    MICRCheq.CollectingBranch = (dr["CollectingBranch"].ToString());
                    MICRCheq.NoOfRequestBooklet = (dr["NoOFBookletsRequested"].ToString());
                    MICRCheq.NoOfLeaves = (dr["NoOfLeaves"].ToString());
                    MICRCheq.RequestInitiatingDate = (dr["RequestInitiated"].ToString());
                    MICRCheq.BranchAcknowledgedDate = (dr["BRANCHACKNOWLEDGE"].ToString());

                    gridRecords.Add(MICRCheq);
                }                
            }

            using (OracleConnection connection = new OracleConnection(con))
            {
                SqlConnection con2 = new SqlConnection(ConfigurationManager.ConnectionStrings["ProductConnectionString"].ConnectionString);
                con2.Open();
                string query2 = "SELECT branchoperatons , retailbanking, echannels FROM Role WHERE branchcode = @branchCode AND StartDate =@StartDate AND EndDate =@EndDate";
                DataTable dt = new DataTable();
                SqlCommand command = new SqlCommand(query2, con2);
                command.CommandTimeout = 900000000;
                command.Parameters.Add("@BranchCode", SqlDbType.VarChar).Value = BranchCode;
                command.Parameters.Add("@StartDate", SqlDbType.VarChar).Value = StartDate;
                command.Parameters.Add("@EndDate", SqlDbType.VarChar).Value = EndDate;
                DataSet dataset = new DataSet();
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(dataset);
                dt = dataset.Tables[0];

                //lblNoRecord.Text = "Total record(s): " + dataset.Tables[0].Rows.Count.ToString();
                //lblNoRecord.ForeColor = System.Drawing.Color.Green;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    MICRChequeBookRequest MICRCheqs = new MICRChequeBookRequest();
                    MICRCheqs.MICRGeneratedDate = (dr["branchoperatons"].ToString());
                    MICRCheqs.MICRAssignedDate = (dr["retailbanking"].ToString());
                    MICRCheqs.MICRDispatchedDate = (dr["retailbanking"].ToString());
                    MICRCheqs.ChequePrintedDate = (dr["echannels"].ToString());


                    gridRecords.Add(MICRCheqs);
                }
            }

            //gridRecords.Add(grRecordsSql);
            ReportViewer1.LocalReport.ReportPath = Server.MapPath("Reports/MICRChequeBookRequestReport.rdlc");
            ReportViewer1.ProcessingMode = ProcessingMode.Local;
            ReportViewer1.LocalReport.DataSources.Clear();
            ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", gridRecords));
            ReportViewer1.LocalReport.Refresh();
        }
        catch (Exception ex)
        {
            lblMsg.Text = ex.Message;
            lblMsg.ForeColor = System.Drawing.Color.Red;
        }
    }
public class MICRChequeBookRequest
    {
        public string AccNumber { get; set; }
        public string AccName { get; set; }
        public string InitiatingBranch { get; set; }
        public string CollectingBranch { get; set; }
        public string NoOfRequestBooklet { get; set; }
        public string NoOfLeaves { get; set; }
        public string RequestInitiatingDate { get; set; }
        public string MICRGeneratedDate { get; set; }
        public string MICRAssignedDate { get; set; }
        public string ChequePrintedDate { get; set; }
        public string MICRDispatchedDate { get; set; }
        public string BranchAcknowledgedDate { get; set; }
        public string CustomerPickUpDate { get; set; }
    }