Cum de a filtra și de a combina 2 seturi de date în C #

voturi
7

Sunt construirea unei pagini web pentru a afișa un client ce software-au cumpărat și pentru a le da un link pentru a descărca software-ul a spus. Din păcate, datele cu privire la ceea ce a fost achiziționat și informațiile de descărcare sunt în bazele de date separate, astfel că nu pot lua doar grijă de ea cu se alătură într-o interogare SQL.

Comun element este SKU. Voi trage o listă de SKU - uri din baza de date achizițiile efectuate de clienți și pe masa de descărcare este o listă virgulă delimitată de SKU - uri asociate cu acea descărcare. Intenția mea, în acest moment, este de a crea din aceasta datatable pentru a popula o GridView.

Orice sugestii cu privire la modul de a face acest lucru în mod eficient ar fi apreciat. Dacă ajută, mă pot destul trage cu ușurință datele ca o DataSetsau DataReader, în cazul în care una ar fi mai bine pentru acest scop.

Întrebat 05/08/2008 la 14:17
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
2

De ce să nu creeze o abordare bazată pe obiect de domeniu la 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 pe aceasta, dar odată ce agrega aceste informații, nu ar fi mai ușor de a prezenta?

Publicat 05/08/2008 la 15:06
sursa de către utilizator

voturi
2

Atâta timp cât cele două baze de date sunt pe (MSSQL presupunând) același server fizic și numele de utilizator / parola utilizată în șirul de conexiune are drepturi la ambele DBs, atunci ar trebui să fie în măsură să efectueze o alăture în 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
Publicat 05/08/2008 la 14:48
sursa de către utilizator

voturi
0

Mă gândesc pe partea de sus a capului meu aici. Dacă încărcați atât ca tabele de date în același set de date, și să definească o relație între cele două peste SKU, și apoi executați o interogare pe setul de date care produce rezultatul dorit.

Publicat 05/08/2008 la 14:24
sursa de către utilizator

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