【发布时间】:2016-04-27 10:41:04
【问题描述】:
我正在尝试将数据库表的详细信息导出到单个 Excel 文件中的多个工作表中,并且导出工作正常,但是使用第一个 DataTable 电子邮件 ID 进行多个 DataTable 过滤的问题。
以下是我的 C# 代码:
protected void Button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable("Registration Details");
DataTable dt1 = new DataTable("Education Details");
dt = bl.Get_Registrationdetailsbydate1(bo);
dt1 = bl.Get_Registrationdetailsbydate2(bo);
ds.Tables.Add(dt);
ds.Tables.Add(dt1);
ExcelHelper.ToExcel(ds, "Users.xls", Page.Response);
}
我有两个表 Registration_table 和 Education_table,还有两个 DataTable Registration details 和 Education details。
我需要基于第一个 DataTable(dt) 的电子邮件 ID 的结果,第一个 DataTable 电子邮件 ID 的用户只应该进入第二个 DataTable,这意味着基于电子邮件 ID 的教育详细信息。
假设下面是第一个DataTable的详细信息。
sno email mobile city
1 raj@gmail.com 123456789 hyderabad
我需要如下单个用户的第二个 DataTable 详细信息的结果。
sno email education
1 raj@gmail.com MBA
我使用两个存储过程来获取注册详细信息和第二教育详细信息。
【问题讨论】:
-
您可以简单地修改您的存储过程以根据
Registration_table中存在的电子邮件获取数据。 -
如何传递第一个 DataTable 电子邮件 ID,上面我使用了第一个数据表方法:Get_Registrationdetailsbydate1(bo);,你能更新答案吗? @Rahul Singh
-
我的意思是将参数传递给您的存储过程,该过程正在获取教育详细信息,并且在 SP 中只需使用 WHERE 子句过滤数据。
-
我认为,它很简单但很困惑,我使用这种方法获取注册详细信息:dt = bl.Get_Registrationdetailsbydate1(bo);此方法用于获取教育详细信息。 dt1 = bl.Get_Registrationdetailsbydate2(bo);。但是在填充第一个数据表之后,如何将参数传递给第二个过程意味着如何从第一个数据表 dt 获取电子邮件 ID 到第二个 dt1。 @Rahul Singh