Vă mulțumim pentru susținere

Cum să filtrați și să combinați două seturi de date în C #

Construiesc o pagină web pentru a arăta clienților ce software au cumpărat și pentru a le oferi un link pentru a descărca respectivul software. Din păcate, datele despre ceea ce a fost cumpărat și informațiile de descărcare sunt în baze de date separate, așa că nu pot avea grijă de ea doar cu o interogare SQL.

Elementul comun este SKU. Voi trage o listă de SKU-uri din baza de date a achizițiilor clienților, iar în tabela de descărcări este o listă de SKU-uri asociate descărcării. Intenția mea, în acest moment, este de a crea de la acest datatable să popula un GridView .

Orice sugestii privind cum să faceți acest lucru în mod eficient ar fi apreciate. Dacă vă ajută, pot recupera destul de ușor datele ca DataSet sau DataReader , dacă oricare ar fi mai bine în acest scop.

0
adăugat editat
Mulțumesc pentru prinderea. A fost fixat!
adăugat autor saalon
A fost intenția de a scrie "șters" sau "delimitat", cel mai probabil pare a fi cel de-al doilea, dar ar putea exista probabil un anumit sens în care spui cuvântul?
adăugat autor Peter David Carter
Nici o problema. Ar fi editat direct, dar a vrut să vă asigurați ce ați vrut să spuneți înainte de a mă încurca.
adăugat autor Peter David Carter

3 răspunsuri

Atâta timp cât cele două baze de date se află pe același server fizic (presupunând MSSQL) și numele de utilizator / parola care este utilizat în șirul de conexiune are drepturi la ambele DB-uri, atunci ar trebui să puteți efectua o conexiune între cele două baze de date. Exemplu:

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
adăugat

De ce nu creați o abordare bazată pe un obiect de domeniu pe această problemă:

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

Există un milion de variații în acest sens, dar odată ce ați adunat aceste informații, nu ar fi mai ușor să le prezentați?

0
adăugat

Ma gandesc deasupra capului meu aici. Dacă încărcați ambele ca tabele de date în aceleași seturi de date și definiți o relație între cele două peste SKU și apoi executați o interogare pe setul de date care produce rezultatul dorit.

0
adăugat