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