.NET MVC中如何在ExportData方法内调用FilterData实现过滤导出?
实现步骤
直接复用FilterData()的过滤逻辑,再把返回的DataTable转换成ExportData()需要的DB_Data集合即可,具体代码如下:
1. 完善FilterData方法(确保正确返回过滤后的数据表)
public DataTable FilterData() { DataTable filteredTable = new DataTable(); string sql = "select * from table where date = today()"; // 补充你的数据库操作逻辑(示例,根据实际情况调整) using (var conn = new SqlConnection("你的数据库连接字符串")) { using (var adapter = new SqlDataAdapter(sql, conn)) { adapter.Fill(filteredTable); } } return filteredTable; }
2. 在ExportData中调用并转换数据
public IEnumerable<DB_Data> ExportData() { // 调用FilterData获取已过滤的数据 DataTable filteredData = FilterData(); // 将DataTable的行逐个转换为DB_Data对象 foreach (DataRow row in filteredData.Rows) { yield return new DB_Data { // 根据DB_Data的属性,对应数据表的列名赋值,自行调整 Id = Convert.ToInt32(row["Id"]), Date = Convert.ToDateTime(row["date"]), // 其他属性依次对应填充 }; } }
这样就能保证导出的数据和FilterData()过滤后的结果完全一致,还避免了重复编写SQL查询逻辑。
内容的提问来源于stack exchange,提问作者User_789465
相关产品推荐
相关产品推荐

