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

voix
7

Je construis une page Web pour afficher un client quel logiciel ils ont acheté et pour leur 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 sont dans des bases de données distinctes, donc je ne peux pas prendre soin d'elle avec des jointures dans une requête SQL.

L'élément commun est SKU. Je vais tirer une liste des références de la base de données des achats des clients et sur la table de téléchargement est une liste de références délimitée par des virgules associée à ce téléchargement. Mon intention, en ce moment, est de créer de celui - ci datatable pour remplir un GridView.

Toutes les suggestions sur la façon de le faire serait efficacement apprécié. Si cela peut aider, je peux assez facilement retirer les données en tant que DataSetou DataReader, si l'on serait mieux à cet effet.

Créé 05/08/2008 à 14:17
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
2

Pourquoi ne pas créer une approche basée sur les objets de domaine à 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 y a un million de variations à ce sujet, mais une fois que vous regroupez ces informations, ne serait-il plus facile de présenter?

Créé 05/08/2008 à 15:06
source utilisateur

voix
2

Tant que les deux bases de données sont sur le même serveur physique (en supposant MSSQL) et le nom d'utilisateur / mot de passe utilisé dans la chaîne de connexion a droit à deux blocs de données, alors vous devriez être en mesure d'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
Créé 05/08/2008 à 14:48
source utilisateur

voix
0

Je pense du haut de ma tête ici. Si vous chargez à la fois comme tableaux de données dans les mêmes ensembles de données et de définir 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é.

Créé 05/08/2008 à 14:24
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more