Jak filtrować i łączenie 2 zestawów danych w języku C #

głosy
7

Buduję stronę internetową, aby pokazać klientowi, jakie oprogramowanie one zakupione i dać im link do pobrania powiedział oprogramowanie. Niestety, dane na temat tego, co zostało zakupione i informacje do pobrania są w oddzielnych bazach danych, więc nie można po prostu dbać o to ze sprzężenia w zapytaniu SQL.

Wspólny element jest SKU. Będę ciągnąc listę SKU z bazy danych klient kupuje i na stole pobierania jest przecinek wytyczone lista SKU związane z tym pobrania. Moją intencją, w tej chwili, jest stworzenie z tej jednej DataTable do wypełnienia GridView.

Wszelkie sugestie, w jaki sposób to zrobić skutecznie będą mile widziane. Jeśli to pomoże, mogę dość łatwo wycofać dane jako DataSetlub DataReader, jeśli jeden z nich byłby lepszy do tego celu.

Utwórz 05/08/2008 o 14:17
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
2

Dlaczego nie stworzyć obiekt domeny opartej podejścia do tego problemu:

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

Istnieje milion wariacje na ten temat, ale po agregować te informacje, czy nie byłoby łatwiej przedstawić?

Odpowiedział 05/08/2008 o 15:06
źródło użytkownik

głosy
2

Dopóki te dwie bazy danych są na (zakładając, MSSQL) samym serwerze fizycznym i nazwa użytkownika / hasło używane w ciągu połączenia ma prawa do obu DB, to powinieneś być w stanie wykonać sprzężenie między dwoma bazami danych. Przykład:

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
Odpowiedział 05/08/2008 o 14:48
źródło użytkownik

głosy
0

Mam na myśli poza czubek mojej głowy tutaj. Jeśli załadować zarówno jako tabele danych w tych samych zestawów danych i zdefiniować relację między nimi nad SKU, a następnie uruchomić kwerendę na zbiorze danych, które wywołuje pożądany rezultat.

Odpowiedział 05/08/2008 o 14:24
źródło użytkownik

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