Comment filtrer et combiner 2 jeux de données en C

Je suis en train de créer une page Web pour montrer à un client quel logiciel il a acheté et lui donner un lien pour télécharger ledit logiciel. Malheureusement, les données sur ce qui a été acheté et les informations de téléchargement se trouvent dans des bases de données distinctes, je ne peux donc pas m'en occuper avec des jointures dans une requête SQL.

L'article commun est SKU. Je vais extraire une liste de SKU de la base de données des achats des clients et sur la table de téléchargement se trouve une liste délimitée par des virgules des SKU associées à ce téléchargement. Mon intention, pour le moment, est de créer à partir de cette table de données pour remplir un GridView.

Toute suggestion sur la façon de le faire efficacement serait appréciée. Si cela peut aider, je peux assez facilement récupérer les données en tant que DataSet ou DataReader, si l'un ou l'autre serait mieux à cette fin.

请先 登录 后评论

3 réponses

Vaibhav

Je pense du haut de ma tête ici. Si vous chargez les deux en tant que tables de données dans les mêmes ensembles de données et définissez une relation entre les deux sur SKU, puis exécutez une requête sur l'ensemble de données qui produit le résultat souhaité.

请先 登录 后评论
Yaakov Ellis

Tant que les deux bases de données sont sur le même serveur physique (en supposant que MSSQL) et que le nom d'utilisateur/mot de passe utilisé dans la chaîne de connexion dispose de droits sur les deux bases de données, vous devriez pouvoir effectuer une jointure entre les deux bases de données. Exemple :

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
请先 登录 后评论
Brett Veenstra

Pourquoi ne pas créer une approche basée sur les objets de domaine pour résoudre ce problème :

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...          
        }
    }
}

Il existe un million de variantes à ce sujet, mais une fois ces informations agrégées, ne serait-ce pas plus facile à présenter ?

请先 登录 后评论
  • 15 abonnés
  • 0 favoris,345 Feuilleter
  • saalon posée à 2023-03-03 15:51