如何在C#中过滤和合并2个数据集

我正在构建一个网页,向客户展示他们购买了哪些软件,并为他们提供了下载该软件的链接。不幸的是,关于购买内容和下载信息的数据在单独的数据库中,所以我不能仅仅使用SQL查询中的连接来处理它。

常见的项目是SKU。我将从客户购买数据库中提取SKU列表,并在下载表格中列出与该下载相关的SKU的逗号分隔列表。目前我的意图是从这个数据表创建一个 GridView

任何建议如何有效地做到这一点将不胜感激。如果有帮助,我可以很容易地将数据作为 DataSet 或 DataReader 取回,如果其中任何一个更适合此目的。

0
额外 编辑
意见: 4
谢谢你的收获。它已经修复了!
额外 作者 saalon,
是否有意将“删除”或“划定”写成最有可能是后者的字样,但是也许可能有一个特定的含义,在这个意义上,你是指这个词?
额外 作者 Peter David Carter,
没问题。本来会直接编辑的,但是想在弄明白之前确定你的意思。
额外 作者 Peter David Carter,

3 答案

只要两个数据库位于同一台物理服务器上(假定为MSSQL)并且连接字符串中使用的用户名/密码对这两个数据库都有权限,那么您应该可以跨两个数据库执行连接。例:

select p.Date,
       p.Amount,
       d.SoftwareName,
       d.DownloadLink
from   PurchaseDB.dbo.Purchases as p
join   ProductDB.dbo.Products as d on d.sku = p.sku
where  p.UserID = 12345
0
额外

为什么不创建一个基于域对象的方法来解决这个问题:

public class CustomerDownloadInfo
{
    private string sku;
    private readonly ICustomer customer;

    public CustomerDownloadInfo(ICustomer Customer){
        customer = Customer;
    }

    public void AttachSku(string Sku){
        sku = Sku;
    }

    public string Sku{
        get { return sku; }
    }

    public string Link{
        get{    
            // etc... etc...          
        }
    }
}

有这个一百万的变化,但一旦你汇总这些信息,那岂不是更容易出现?

0
额外

我在这里想着我的头顶。如果在相同的数据集中加载两个数据表,并通过SKU定义两者之间的关系,然后在产生所需结果的数据集上运行查询。

0
额外